內存泄漏小結

1.png

2.png
使用dumpsys分析內存泄漏
舉例:分析微視粉絲列表activity是否存在內存泄漏
第一步:打開微視,輸入命令:adb shell dumpsys meminfo?【包名】

3.png
可以看到現(xiàn)存1919個view,1個activity
第二步,點擊消息頁面的粉絲tab,進入粉絲列表,再次輸入命令

4.png
可以看到當前存在1999個view,2個activity
第三步,退出粉絲列表,快速再次輸入命令

5.png
可見當前存在的view和activity數(shù)量和最初進入微視時的數(shù)量是一樣的,說明成功回收了粉絲列表activity對象和view對象。
第四步,快速多次切換消息頁和粉絲列表頁面,最后切換到消息頁,再次快速輸入命令

6.png
結果同第三步,說明能夠及時快速的回收粉絲列表activity對象和view對象。
但是通過觀察Local Binders可以看出,在activity和view被回收時,?Local Binders的數(shù)量并沒有減少,過了十秒左右再次輸入命令發(fā)現(xiàn)Local Binders減少了,所以這里存在短暫的內存泄漏,只是最終資源都會被回收。