1. 程式人生 > >android記憶體優化要點

android記憶體優化要點

 降低記憶體使用:
1.減少使用static
2.壓縮圖片資源

防止記憶體溢位:
1.儘量使用Application的Context
2.執行緒內部類寫成靜態的,內部類對context的引用使用弱引用(WeakReference)
3.bitmap使用完及時銷燬
4.BraodcastReceiver,ContentObserver,FileObserver在Activity onDeatory或者某類宣告週期結束之後一定要unregister掉,否則這個Activity/類會被system強引用,不會被記憶體回收。
5.不要直接對Activity進行直接引用作為成員變數,如果不得不這麼做,請用private WeakReference<Activity> mActivity來做,相同的,對於Service等其他有自己宣告週期的物件來說,直接引用都需要謹慎考慮是否會存在記憶體洩露的可能。
6.很多記憶體洩露是由於迴圈引用造成的,比如a中包含了b,b包含了c,c又包含a,這樣只要一個物件存在其他肯定會一直常駐記憶體,這要從邏輯上來分析是否需要這樣的設計。