Android利用DDMS性能调优

前言:在android功能都开发完毕后,可以开始考虑优化代码。但要怎么入手呢?首先我们应该解决明显的UI卡顿,其次可以考虑内存优化等等。当然因为鄙人能力有限,有不到之处还请各位大神指教。

1.UI卡顿

UI卡顿的问题,我们可以利用ddms的traceview功能查看。



第一次点击后,会弹出一个对话框,直接点击确定,使用默认的即可.然后在界面上操作一下认为耗时的地方,在点击一下带红点的按钮.在IDE中就会出现traceview的视图.

我们在

这一栏中找到CPU_time/call,点击后排序.里面找我们自己的函数,就能看到较耗时的操作,在进行优化.

PS:如果已经点击红点按钮,界面操作无响应的话,多半是哪个地方ANR了,我们可以adb pull data/anr/*  d:/   拷贝出traces.txt文件 从而定位哪个函数在主线程进行了耗时操作.

2.堆内存泄漏

内存泄漏用IDE可点开红框

若是没有视图窗口,则在IDE上方窗口选windows -->show view 里面找到heap

我们在heap界面,然后每五秒选择gauge GC 若是heap size稳定在一个数值则表示没有内存泄漏的风险,若是heap size在不停的增大,则我们需要考虑创建对象的地方哪还值得优化.可以百度 Android内存优化.

>推荐使用LeakCancary,eclipse版本的jar包本地有,详情私信

3.线程耗时


我们在设备列表中选中我们的包名,然后打开红框的线程.在右侧就能看到当前应用所有的线程,utime表示我们的线程执行耗时,重点关注这个即可.

4.UI嵌套


点开这个按钮需要手机有root权限,若是没有的话,可在手机开发者选项中,打开GPU过度绘制,如果界面中红色的区域较多,则这部分区域是我们需要优化的

5.cpu占比

我们可在上述右侧部位找到system info的窗口,点击update后,即可看我们的应用瞬时占用的cpu比例.

todo : 如何分析各个函数占用cpu的比重

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,035评论 25 709
  • java 接口的意义-百度 规范、扩展、回调 抽象类的意义-乐视 为其子类提供一个公共的类型封装子类中得重复内容定...
    交流电1582阅读 6,760评论 0 11
  • 被文同时发布在CSDN上,欢迎查看。 APP内存的使用,是评价一款应用性能高低的一个重要指标。虽然现在智能手机的内...
    大圣代阅读 10,270评论 2 54
  • 天堂向上,生活向下。一直以来,我都幻想着有另外一个相似却比我优越的的人生活在地球的某个角落,他与我并不相识,但我却...
    夏云尘阅读 1,937评论 0 0
  • 记得是高一时和他第一次见面,当时觉得这个人小小一点点好猥琐的存在,因为是对门宿舍常常有交集,而且我们的座位里的也近...
    小10阅读 1,683评论 0 1