如何避免内存泄漏
2013-03-21 00:03
190 查看
原因.:
横竖屏切换时,所有的Static变量都不会被销毁和释放,所有如果某个static变量属于某个Activity,该static变量中有Activity中View的引用,进而有该Activity的引用,所有这时activity使用的资源也不会被释放(即使该activity被destroy)。
解决:
1. 不要让生命周期长的对象(static变量,不确定何时结束的线程等)引用activity context,即保证引用activity的对象要与activity本身生命周期是一样的
2. 对于生命周期长的对象,可以使用application context
3. 避免非静态的内部类,尽量使用静态类,避免生命周期问题,注意内部类对外部对象引用导致的生命周期变化
转自:http://andynjux.blogbus.com/logs/132600437.html
横竖屏切换时,所有的Static变量都不会被销毁和释放,所有如果某个static变量属于某个Activity,该static变量中有Activity中View的引用,进而有该Activity的引用,所有这时activity使用的资源也不会被释放(即使该activity被destroy)。
解决:
1. 不要让生命周期长的对象(static变量,不确定何时结束的线程等)引用activity context,即保证引用activity的对象要与activity本身生命周期是一样的
2. 对于生命周期长的对象,可以使用application context
3. 避免非静态的内部类,尽量使用静态类,避免生命周期问题,注意内部类对外部对象引用导致的生命周期变化
转自:http://andynjux.blogbus.com/logs/132600437.html
相关文章推荐
- Java中关于内存泄漏出现的原因以及如何避免内存泄漏(超详细版汇总下)
- Java中关于内存泄漏出现的原因汇总及如何避免内存泄漏
- 如何避免Android内存泄漏
- 如何避免Android内存泄漏
- 如何避免Javascript事件绑定出现内存泄漏
- 如何避免Android内存泄漏
- 在单例模式中如何避免传入非Application的Context造成的内存泄漏
- Java中关于内存泄漏出现的原因汇总及如何避免内存泄漏(超详细版)
- .NET如何避免内存泄漏
- 如何避免Android内存泄漏之Context
- 对android内存优化的方法,方案,规则及对内存泄漏如何避免
- 如何避免Android内存泄漏——Context
- 什么是野指针和内存泄漏?如何避免野指针
- 如何避免Android内存泄漏
- 如何避免java程序内存泄漏
- 如何避免Android内存泄漏——Context
- Android 内存泄漏总结及如何避免
- Java中关于内存泄漏出现的原因以及如何避免内存泄漏(超详细版汇总上)
- 如何避免内存泄漏(转载)
- Java中关于内存泄漏出现的原因以及如何避免内存泄漏(超详细版)