对于内存泄漏应注意的几点
来源:互联网 发布:25岁衣服品牌知乎 编辑:程序博客网 时间:2024/06/16 00:47
1.对 Activity 等组件的引用应该控制在 Activity 的生命周期之内; 如果不能就考虑使用 getApplicationContext 或者 getApplication,以避免 Activity 被外部长生命周期的对象引用而泄露。
2.尽量不要在静态变量或者静态内部类中使用非静态外部成员变量(包括context ),即使要使用,也要考虑适时把外部成员变量置空;也可以在内部类中使用弱引用来引用外部类的变量。
3.对于生命周期比Activity长的内部类对象,并且内部类中使用了外部类的成员变量,可以这样做避免内存泄漏:
将内部类改为静态内部类静态内部类中使用弱引用来引用外部类的成员变量
4.Handler 的持有的引用对象最好使用弱引用,资源释放时也可以清空 Handler 里面的消息。比如在 Activity onStop 或者 onDestroy 的时候,取消掉该 Handler 对象的 Message和 Runnable.
5.在 Java 的实现过程中,也要考虑其对象释放,最好的方法是在不使用某对象时,显式地将此对象赋值为 null,比如使用完Bitmap 后先调用 recycle(),再赋为null,清空对图片等资源有直接引用或者间接引用的数组(使用 array.clear() ; array = null)等,最好遵循谁创建谁释放的原则。
6.正确关闭资源,对于使用了BraodcastReceiver,ContentObserver,File,游标 Cursor,Stream,Bitmap等资源的使用,应该在Activity销毁时及时关闭或者注销。
7.保持对对象生命周期的敏感,特别注意单例、静态对象、全局性集合等的生命周期。
- 对于内存泄漏应注意的几点
- SSH整合应注意的几点
- 内存泄漏注意点
- 选择正规的短信服务商应注意的几点!
- 2006首轮数学复习应注意的几点
- C++初学者应注意的几点问题
- SERVER转换到ORACLE应注意的几点问题
- 使网页符合W3C应注意的几点
- 开发时应注意的几点问题
- 编写函数时应注意的几点问题
- 正确使用String类应注意的几点
- 选择硬件防火墙应注意的几点事宜
- vc2005 - 编译时应注意的几点
- RS485通信应注意的几点细节
- jsp-cookie使用应注意的几点
- java建后台接口工程应注意的几点
- 写mysql存储过程应注意的几点
- c++重载构造函数时应注意的几点
- smartctl检测物理磁盘健康度的测试结果解读
- java读取配置文件常用的四种方式
- LeetCode 1.Two Sum
- LeetCode-56. Merge Intervals
- 概率论-【第一章】随机事件与概率
- 对于内存泄漏应注意的几点
- window7 环境下VS CODE编译调试C++程序配置
- hibernate创建表的时候出现Incorrect column specifier for column 'sid'
- 选择器的优先级
- JS高级进阶之征服异步编程
- C primer plus 第三章总结
- Zurmo(十八)之顶栏模块快捷设置
- spark性能优化:数据倾斜调优
- 一入科协似海深,从此装逼成路人