Android開發中處理內存泄露的常識建議

自己總結,瞭解運用即可

1. 單例的使用,(主要原因是單例的靜態特性),如果一個單例的傳入的參數是當前的Activity,那麼這個單例會被無限制的持有下去,常用的方法是用整個Application的context作爲參數傳入,這樣就不會被Activity的生命週期所影響

2. Handler,Message,MessageQueue是相互關聯一起的,萬一handler發送的message尚未被處理,則該handler以及發送的message將會被messagequeue一直持有,造成內存泄漏,解決方法一般兩種,一是使用靜態static的對象,二是最常用的,就是對象通過弱引用傳入。

3. 匿名內部類或者說非靜態內部類,Android開發經常會繼承一些基類activity或者View之類的,如果使用匿名類而且被異步線程使用,由於線程與綁定的Activity的生命週期不一致,這種情況下會引起內存泄漏。這個開發時需要注意避免。

4.集合對象要善清除,退出程序的時候,有必要的話需要將集合clear並置爲空

5. 不要在for循環的第二個方法中調用任何方法,必須給個臨時變量賦值。

6. 如果需要多次訪問一個變量值,要先賦值

7.儘可能的使用改進後的for-each語句,因爲在ArrayList中,for-each逼手寫的迭代器快

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章