1. 程式人生 > >關於Android中的記憶體洩漏之非同步操作

關於Android中的記憶體洩漏之非同步操作

Android中記憶體洩漏是比較讓人頭痛的一塊問題,這兩天研究了下,放點乾貨吧,有時間再好好解析。

首先是如何檢查記憶體洩漏,這裡推薦使用square的leakCanary,絕對的神器。Github地址:

然後是一個自己寫的Demo,裡面有用到leakCanary進行記憶體洩漏的檢查,主要針對四種情況,使用Thread,使用Handler,使用RxJava和使用AsyncTask。Github地址:

最後是一些關於Java中執行緒模型的文章,因為像RxJava,AsyncTask等等這樣封裝好的非同步操作框架,其核心基本上都是使用了執行緒池,FutureTask來操作執行緒,而最重要的中斷任務,例如RxJava的unsubscribe(),AsyncTask的cancel,到最後都會呼叫Thread的interrupt(),所以好好了解下Java的執行緒模型是非常有必要的!