自己總結,瞭解運用即可
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逼手寫的迭代器快