android 内存抖动的优化

参考:http://hukai.me/android-performance-memory/

 

本次项目应用到了Face++的人脸识别,在使用上没多大问题,但是优化时候发现,开启摄像头后,会不断的发生内存抖动

android 内存抖动的优化_第1张图片

 

大致审查下代码没发现什么问题,用android studio工具审查下

android 内存抖动的优化_第2张图片

大致可以发现,onAfterRender()方法进出栈次数比较多,排查下代码,发现

android 内存抖动的优化_第3张图片

在每一帧调用下,还去不断new对象,生成byte[]数组,这是用来保存摄像头画面,保存成jpeg的数据,只能在另外处理数据,注释掉,重新跑下,就没有内存抖动的情况了

下面再简要概括一下他们各自的特点:

  • Memory Monitor:跟踪整个app的内存变化情况。
  • Heap Viewer:查看当前内存快照,便于对比分析哪些对象有可能发生了泄漏。
  • Allocation Tracker:追踪内存对象的来源。

 

 

 

 

 

 

 

你可能感兴趣的:(Android学习笔记)