网站建设绵阳国家查企业信息查询平台
专业方向:App cpu/memory/gpu/流畅度/响应时间的优化,Anr,Framework CarPowerManagementService模块的(STR),从0~1完成性能监控体系搭建,完成3大版本迭代高质量性能交付
响应时间:
- 冷启动:预编译,预加载,懒加载
 - 热启动:启动阶段boost,分析主线程耗时,binder调用
 - 开机启动:裁剪,合理调整app启动顺序
 - 点击响应慢:UIBlockMonitor检测主线程卡顿;点击卡死(anr和假卡死)
 
流畅性:
- 列表流畅:通讯录滑动卡顿(数据结构不同),分类滑动卡顿(recyclerview嵌套framgment),歌单列表滑动卡顿(纵向列表带上横向列表)
 - 视频流畅:4路dvr和360环视卡顿(cpu和gpu tunning),视频卡(底层解码器问题,从log(QC2Comp入手
 - 系统卡顿:startService风暴,Binder风暴,内存低或smmu fault等资源不足导致卡死
 - 跟手性:从trace找到Unity车模异常耗时任务
 
CPU:
-  
组件:marqueue,shadowContainer
 - 动画优化:
 
属性动画:修改属性动画帧率
自定义动画: VoicePlayerView 定时器计算并请求绘制
旋转动画:降帧,降速,降renderthread cpu占用
- gc:延迟gc,修改gc 阈值,对象池缓存(减少内存抖动)
 - 业务架构优化:音乐随动,车设和后排屏
 
Memory:
24小时无泄露,App小于700M
- 抓取分析native,java,显存,window,fd内存泄露
 - 建立慢速,快速泄露内存抓取机制
 
Memory分析工具
|   监控工具  |   项目经验  | |
|   Native泄露  |   perffeto,raphale,androidstudio  |   map 快速泄露  | 
|   Java泄露  |   Hprof  |   HashMap,Bitmap,Service,Binder,webview泄露  | 
|   显存泄露  |   读bufinfo  |   camera多次打开失败,Opengl context 未释放导致  | 
|   Window泄露  |   Dumpsys 、读bufinfo  |   弹出大量一样的window  | 
|   Unity泄露  |   UnityMemoryProfiler  |   桌面快速泄露  | 
gpu:占用率,优先级,带宽优化
3年职业规划
短期:
framework层面优化:禁止app自启动、根据系统资源动态调节最大缓存数量
性能工具优化:
【Hprof 压缩(500M以上展示不出来),自动扫描jni内存泄露,bugreport优化(传入pid或调用关键用户进程的调用栈),重复log打印detecter(接入自动化监控)】
长期:
- bug智能诊断(bug自动归类),cpu调优,低fps监控,native内存工具
 - cgroup调优,内存踩踏分析,native内存泄露工具建设 https://zhuanlan.zhihu.com/p/371527210
 
(热启动优化)
- Android系统层面的优化,Linux 内核层面优化
 
更详细性能优化方法:欢迎订阅 “Android性能优化” 专栏,一起成长
