Android应用UI性能分析

一 如何对android应用进行内存性能分析?

     在使用App时会发现有些界面启动卡顿、动画不流畅、列表等滑动时也会卡顿出现这种情况,可以考虑对UI性能分析。首先要清楚卡顿的原因,有以下几种情况:

  1. 人为在UI线程中做轻微耗时操作,导致UI线程卡顿;
  2. 布局Layout过于复杂,无法在16ms内完成渲染;
  3. 同一时间动画执行的次数过多,导致CPU或GPU负载过重;
  4. View过度绘制,导致某些像素在同一帧时间内被绘制多次,从而使CPU或GPU负载过重;
  5.  View频繁的触发measure、layout,导致measure、layout累计耗时过多及整个View频繁的重新渲染;
  6.  内存频繁触发GC过多(同一帧中频繁创建内存),导致暂时阻塞渲染操作;
  7.  冗余资源及逻辑等导致加载和执行缓慢;
  8.  臭名昭著的ANR;

二 如何分析UI性能?

       在android的sdk中提供了HierarchyViewer工具,我们可以通过HierarchyViewer来进行UI布局复杂程度及冗余等分析,启动方式:

第一种:

  • 打开terminal ,使用cd进入到sdk的tools目录,如下我的:
$ cd /Users/xxx/programFiles/android-sdk-macosx/tools
  • 然后输入启动HierarchyViewer
$ hierarchyviewer

当然你也可以直接手动进入到sdk的tools目录,找到HierarchyViewer工具,双击HierarchyViewer就可以启动了。

第二种(推荐):

  • 打开开发工具的ADM添加HierarchyViewer工具如下:


一个Activity的View树,通过这个树可以分析出View嵌套的冗余层级,以及每个View在绘制的使用时长也有表示。

三 使用Android Lint进行资源及冗余UI布局等优化

    就是将鼠标放在代码区点击右键->Analyze->Inspect Code–>界面选择你要检测的模块->点击确认开始检测,等待一下后会发现如下结果:



参考:

https://blog.csdn.net/mwq384807683/article/details/70313741

https://blog.csdn.net/swordgirl2011/article/details/52887925


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值