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逼手写的迭代器快

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