android 内存泄漏分析之二
来源:互联网 发布:联系打字的软件 编辑:程序博客网 时间:2024/05/17 04:40
一、单例类内存泄漏点
1、由于直接静态类context 引用context导致,用applicationContext好像还是会有内存泄漏
2、可以将此类变为 WeakReference类 通过
private T getInstance()
{
if(null == instance || null == instance.get())
{
instance = new WeakReference<T>(new T)
}
return instance;
}
二、关于图片泄漏问题
可以参考
http://www.tuicool.com/articles/YVnYRv
对图片泄漏进行释放,注意链接中要判断是否为 BitmapDrawable对象
即 if (imageView != null) {
BitmapDrawable bd = (BitmapDrawable) imageView.getDrawable(); rceycleBitmapDrawable(bd); }
语句强转有差错,需要首先判断对象释放为BitmapDrawable实例
imageview类一定要手动释放才有效!!!
三、关于inputmanager引起的内存泄漏问题,待续
四、对于用MAT 工具查看内存泄漏小技巧
1、通过histogram中 按照包名进行查询,逐一排查不同模块的内存泄漏问题
2、在Dominator Tree中查询的时候,可以通过 list by outcomming 找到对应的bitmap实际是从哪个类引用的,找到可能出现导致bitmap对象无法释放的我们的文件源头
3、可以通过不同时间段产生的**.hprof,在histogram模式下来进行对比两个文件的不同,查看本次相对于上次是否有缩小了内存占用
0 0
- android 内存泄漏分析之二
- Android 内存泄漏和OOM分析(二)
- Android 内存泄漏分析
- android 分析内存泄漏
- android内存泄漏分析
- android内存泄漏分析
- android 内存泄漏分析
- Android内存泄漏分析
- Android内存泄漏分析
- android 内存泄漏分析
- Android内存泄漏分析
- android内存泄漏分析
- Android内存泄漏分析
- Android内存泄漏分析
- Android内存泄漏分析
- Android内存泄漏分析
- Android 内存泄漏分析
- Android 内存泄漏分析
- R语言学习路线图
- 283. Move Zeroes
- more effective c++——Item M29 引用计数(三)带引用计数的基类的实现
- 剑指offer-面试题26-复杂链表的复制
- 反射工具类【ReflectionUtils】
- android 内存泄漏分析之二
- LeetCode 5. Longest Palindromic Substring(字符串)
- 设计模式——工厂模式样例
- BZOJ 1923 [Sdoi2010] 外星千足虫
- NGUI下的scrollview运用
- Angularjs学习-service
- 反正我也不懂的opencv
- 高效编程秘诀
- 类模板的类外实现与hpp文件