Android如何运用Android studio进行安卓APP内存泄漏的检测
2016-10-23 11:10
429 查看
直接可用android studio 进行内存检测,非常方便好用,具体步骤见下:
1 .app 运行后,点击Android Monitor 后,会出现弹窗,在点击logcat旁边的Monitors.
2,点击initiate GC(3步骤中的第二个橘黄色为车辆的标志).将自己的app玩一会,像目前我的这个app,点击跳转,再按模拟器中的返回,在点击跳转,如此循环反复,可以看到视图使用的内存在波动不停:
3.点击第三个图标,会生成一个分析文件hprof文件
4, 点击右侧的Analyze Tasks,
5 点击run
6 重点来了,我们看到的Leaked Activities 就是说有检测到内存泄露,点进去,会定位到左边视图窗口,
找到根节点为0的,就是定位到的内存泄露的原因.
重点:可以直接跳转到内存泄露的地方:
mContext,看到了有没有???这是因为我在跳转到SecondActivity的时候,写了这样的代码:
好了 ,改下代码,问题就ok了!是不是很简单很方便呀?哈哈!
1 .app 运行后,点击Android Monitor 后,会出现弹窗,在点击logcat旁边的Monitors.
2,点击initiate GC(3步骤中的第二个橘黄色为车辆的标志).将自己的app玩一会,像目前我的这个app,点击跳转,再按模拟器中的返回,在点击跳转,如此循环反复,可以看到视图使用的内存在波动不停:
3.点击第三个图标,会生成一个分析文件hprof文件
4, 点击右侧的Analyze Tasks,
5 点击run
6 重点来了,我们看到的Leaked Activities 就是说有检测到内存泄露,点进去,会定位到左边视图窗口,
找到根节点为0的,就是定位到的内存泄露的原因.
重点:可以直接跳转到内存泄露的地方:
mContext,看到了有没有???这是因为我在跳转到SecondActivity的时候,写了这样的代码:
public static Context mContext; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); //Context对象为静态的,那么Activity就无法正常销毁,会常驻内存。造成内存泄露. mContext = this; }
好了 ,改下代码,问题就ok了!是不是很简单很方便呀?哈哈!
相关文章推荐
- 利用Android Studio、MAT对Android进行内存泄漏检测
- 利用Android Studio、MAT对Android进行内存泄漏检测
- 利用Android Studio、MAT对Android进行内存泄漏检测
- 利用Android Studio、MAT对Android进行内存泄漏检测
- Android探索之旅(第二十六篇)Android如何运用Fidder进行对AndroidApp应用数据的抓取
- 利用Android Studio、MAT对Android进行内存泄漏检测
- 利用Android Studio、MAT对Android进行内存泄漏检测
- 利用Android Studio、MAT对Android进行内存泄漏检测
- 利用Android Studio、MAT对Android进行内存泄漏检测
- 如何使用Valgrind memcheck工具进行C/C++的内存泄漏检测
- 从Eclipse到Android Studio:Android项目如何进行迁移
- Android源码编译第三方app(Android studio编写项目)如何写Android.mk
- 安卓杂记(五):Eclipse如何导出android项目并在手机上进行安装
- 如何对Android的版本进行检测与更新
- 如何使用Valgrind memcheck工具进行C/C++的内存泄漏检测
- fir.im Weekly - 如何进行 Android App 性能优化
- Android检测是否安装了某个应用,同时进行App间的跳转
- Android之android studio如何解决':app:packageDebug'.(Duplicate files copied in APK META-INF/DEPENDENCIES)
- 如何进行Android、IOS APP的自动化测试—东舟自动化测试解决方案
- 如何使用Valgrind memcheck工具进行C/C++的内存泄漏检测