Angular 18+ 高階教程 – Memory leak, unsubscribe, onDestroy

兴杰發表於2024-06-17

何謂 Memory Leak?

Angular 是 SPA (Single-page application) 框架,用來開發 SPA。

SPA 最大的特點就是它不重新整理頁面,不重新整理就容易造成 memory leak。

舉個簡單例子:

有一個頁面,我們寫了一個 setInterval 執行一些程式碼。

當使用者離開這個頁面去下一個頁面時,傳統網站 (非 SPA),會重新整理頁面,之前的 setInterval 會被刪除掉。

然後 SPA 網站不同,它不會重新整理頁面,之前的 setInterval 會一直持續執行。

我們姑且不論這個現象算不算真正意義上的 memory leak,但這個現象肯定是不正確的。

本篇,我們就來聊一聊在用 Angular 開發 SPA 如何避開上述這種不正確的現象。

相關文章