做个笔记,方便以后查询
及时释放不需要的资源,对于优化程序、节省内存是很有必要的。下面是我目前了解的需要释放的资源:
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、循环内尽量不要使用局部变量
暂时想不到了,想到了再加吧。