手机性能优化专业版(App优化之路——工具选择)

wufei123 发布于 2024-08-22 阅读(7)

大家都知道前几年随便一个开发,搭一个界面,处理一下数据,就可以上线了,但随着技术的沉淀,市场上同款App多如牛毛,用户体验也是考量一个app的标准,我们做开发的也要对app做一定的优化先从工具入手,下面一张图主要介绍了性能分析的工具。

1 StrictMode如果开启了StrictMode模式,会检测主线程中是否有超时任务或阻塞,比如操作文件和网络请求,可以通过Log console来查看warning信息中包含Stack Trace的信息来进行处理

该模式主要用来对主线程进行优化2 Systrace都知道cpu是时间片轮回来处理信息的,他能查看线程和进程cpu时间轮回中做了什么事情,以及哪些地方除了问题,并给出fix的建议,信息以trace.html文件记录,可以通过chrome打开查看

我经常用来检查ui绘制时间,结合Hierarchy Viewer提升App 性能,也用来检测耗时操作3 Hierarchy Viewer用来分析view的绘制层级

上图红框标出的三个点是关键分析数据. 左起依次代表View的Measure, Layout和Draw的性能. 另外颜色表示该View的该项时间指数, 分为:* 绿色, 表示该View的此项性能比该View Tree中超过50%的View都要快.

* 黄色, 表示该View的此项性能比该View Tree中超过50%的View都要慢.* 红色, 表示该View的此项性能是View Tree中最慢的.注意:这里用这个工具需要手机root4 TraceView

用来展示和分析方法的图形化界面,可以用来优化方法的执行效率5 Memory Monitor用来检测内存使用是释放的一个图形化界面,配合heap viewer, allocation tracker也可以检测是否内存泄漏,同时也可以导出hprof文件通过MAT来分析泄漏点。

6 Other MonitorAndroid Studio还提供了三个工具Monitor CPU GPU NetWork可以通过他们分析CPU, GPU, NetWork并进行优化7,其他模式开发者模式中的优化检测

7 第三方工具Google的Battery Historian进行电量分析优化网易的Emmagee针对Android App的CPU, 内存, 网络, 电量等多项综合的测试分析.square的leakcanary,分析是否有内存泄漏

AndroidDevMetrics 一个library, 用来检测Activity生命周期执行性能, Dagger2注入性能以及帧率性能的工具.如果你用Dagger2的话 这个工具很有必要集成

亲爱的读者们,感谢您花时间阅读本文。如果您对本文有任何疑问或建议,请随时联系我。我非常乐意与您交流。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。