做個筆記,方便以後查詢
及時釋放不需要的資源,對於優化程序、節省內存是很有必要的。下面是我目前瞭解的需要釋放的資源:
1、圖像:
bmp.recycle();
bmp = null;
2、Handler:
當使用handler.post(Runnable)方法時,一般都會在關閉時調用:
handler.removeCallbacks(Runnalbe)
3、Animation:
爲了加強用戶體驗,我們經常使用動畫,在動畫結束後,及時清理是個好習慣:
animation.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
view.clearAnimation();
}
});
4、對象:
這個不知道有沒有用,不過我還是習慣用完後,令
object=null
5、handler、cursor、camera、stream等對象的釋放
6、List對象能clear()的儘量不要重新創建
7、可以定義子類型的就不要定義父類型(會降低可擴展性);
比如:Map<T, T> map = new HashMap<T, T>()
可以改寫爲: HashMap<T, T> map = new HashMap<T, T>()
8、循環內儘量不要使用局部變量
暫時想不到了,想到了再加吧。