性能问题如何解决

作者: Persisting | 来源:发表于2019-08-11 22:17 被阅读3次

这篇文档罗列一下平时遇到的性能问题是如何解决的流程和方案选择

1.app启动问题

app启动问题主要集中在C300项目上面,一般情况下VAL会用高速相机把系统的app以及选择几款主流第三方app测试.

app启动一般分为第一次和非第一次,影响app启动主要几种情况:

A.CPU核数和频率

如果发现cpu核数或者频率过低,可以关掉thermal测试下

目前项目上已经做了CPU boost,关于CPU boost请参考MTK或者高通文档

B.内存

如果启动app在不断kill进程回收内存,说明内存不足

C.IO效率

第一次启动app,可能会涉及到dex文件或者插件优化,这个消耗IO和CPU资源

D.APP本身行为

部分app启动会联网有广告,这个时候启动时间会增加

C300 patch list: PERFWIN-2

分析启动问题的工具,主要借助于systrace,这个使用就不多说了.

2.整体性能卡顿情况

整体性卡顿问题目前遇到主要在C800上面,这种情况基于当前内存占用,cpu使用情况(核数和频率),以及IO情况.

然后根据内存,CPU占用做相关的方案调整,比如是否TPS生效,lmk参数是否合适,具体参考 patch list.

工具参考catch_debuginfo.sh

3.TP跟随性比较差

tp跟随性差目前为止大极这边主要遇到一个问题就是viko给C800的tp打分不过关,具体文档找不到了,我这边跟高通提了case:03403300,03436670. 如果有关于tp其它流程问题,请参考MTK或者高通文档

4.开机速度优化

开机速度,大部分项目对开机一般要求在多少秒,之前Android N上面要求在12s左右,而在Android O上面由于treble的原因,底层hal拖累了开机速度,导致目前的非第一次开机速度在20s左右

针对非第一次开机,目前的方案有几点:

A.CPU boost

B.多线程扫描APK

C.精简不必要的模块启动

D.精简开机动画

针对第一次开机的方案,在上面的基础上还需要添加dex的预优化方案

这块调试可以参考MTK boot prof log机制或者借鉴boot chart 工具

5.总结

性能问题是在抛开bug的情况下的调优和方案取舍,所以必须有多标准或者对比,如果有了对比,就可以得出具体的差别.而对比的话要选好样本,尽量芯片平台和内存以及软件平台一致,得到差距取相关的信息做对比便一目了然.

相关文章

  • iOS之NSDateFormatter 性能瓶颈

    本文介绍NSDateFormatter的性能瓶颈,以及如何解决性能问题。 分别用NSDateFormatter和 ...

  • NSDateFormatter最佳实践

    本文介绍NSDateFormatter的性能瓶颈,以及如何解决性能问题。 分别用NSDateFormatter和C...

  • iOS 性能优化

    前言 本文将从发现问题、解决问题和预防问题进行总结 如何发现性能问题 业务性能监控,是指在App本地,业务的开始和...

  • 性能问题如何解决

    这篇文档罗列一下平时遇到的性能问题是如何解决的流程和方案选择 1.app启动问题 app启动问题主要集中在C300...

  • Android - 性能优化

    前言 性能优化的过程分两部分: 发现性能瓶颈 制定方案,解决性能问题 解决性能问题的方案需要具体情况具体分析,并没...

  • Android - 性能优化方案分享

    前言 性能优化的过程分两部分: 发现性能瓶颈 制定方案,解决性能问题 解决性能问题的方案需要具体情况具体分析,并没...

  • 性能调试过程中经常使用的INTELLIJ IDEA 快捷键

    最近解决性能测试之后的各种性能问题,解决问题的过程中快捷键能够快速帮助我解决并修复问题,提升解决问题的效率。下面是...

  • Android - 性能优化经验分享

    前言 性能优化的过程分两部分:发现性能瓶颈制定方案,解决性能问题 解决性能问题的方案需要具体情况具体分析,并没有完...

  • Android - 性能优化经验分享

    前言 性能优化的过程分两部分:1.发现性能瓶颈2.制定方案,解决性能问题 解决性能问题的方案需要具体情况具体分析,...

  • 史上最深入Android性能优化详解,帮你突破技术瓶颈

    前言 性能优化的过程分两部分:1.发现性能瓶颈2.制定方案,解决性能问题 解决性能问题的方案需要具体情况具体分析,...

网友评论

    本文标题:性能问题如何解决

    本文链接:https://www.haomeiwen.com/subject/adxreftx.html