android开发中卡顿问题一直是个比较棘手又重要的问题,严重影响用户体验。这篇文章中我们主要列举了应用自身原因导致的手机卡顿问题。国内各大 Android 厂商的产品由于硬件性能有高有低 , 功能实现各有差异 , 团队技术能力各有千秋 , 所以其系统的质量也有高有低 , 这里我们就来列举一下 , 由于系统的硬件和软件原因导致的性能问题,以及检测卡顿的方法。
导致卡顿的因素
1.硬件因素:
CPU
RAM
ROM
HeapSize
SDK Version
2.软件因素:
UI渲染相关
UI线程操作相关
卡顿分析的常见方法
Systrace
以Linux Kernel的ftrace为基础,内部采用systrace.py统计数据。通常截取一小段时间,如图,针对性分析cpu及UI Thread渲染情况,GC回收情况。重点关注卡顿帧(红色F)
TraceView
跟踪构造视图,主要是从线程执行时间,方法调用情况(递归次数等),CPU占用情况维度分析,重点关注占用cpu最多,方法调用或者递归调用较大的thread。在这里插入图片描述
性能监控工具友盟+U-APM
如果你觉得上面的方法不顺手或者太繁琐,可以使用友盟+U-APM性能检测工具,友盟+U-APM中的卡顿分析是通过U-APM提供的监控SDK 捕获所监控App主线程消息执行超时的情况,帮助您优化用户使用体验、用户反馈问题是否与卡顿现象间接引发有关。而且可以在此页面查看不同时间段、筛选维度下的卡顿数据趋势,默认展示全部维度、今天的数据,也可根据自己的查询条件进行筛选。
卡顿列表,通过上图可以清晰的在此列表中查看筛选维度+时间范围内,所有卡顿问题根据日志根据算法聚合后的错误列表,默认按照卡顿次数降序展示,帮助您快速的找到卡顿次数最多、影响最严重的卡顿问题。当然您也可以选择按照影响人数排行,找到影响面积最大的卡顿问题。
综上所述,Android 系统是一个不断进化的过程,出现卡顿问题时,可以使用工具进行检测,个人推荐友盟U-APM。
友盟U-APM应用性能监控平台,对android卡顿分析进行完整的检测。友盟U-APM通过轻量级的集成接入即可拥有实时、可靠、全面的应用崩溃、ANR、自定义异常等捕获能力,及卡顿、启动分析等性能能力,支持多场景、多通道智能告警监控,帮助开发者高效还原异常、卡顿用户的访问路径和业务现场,缩短故障排查时间。