性能优化的要求-Android性能优化之道2

加量批注

对业务使用资源的掌握,嗯!很有启发性。 是我们技术要懂业务的一个很好切入点,而且有数据支撑,又能性能优化。

工作后期也上线了 针对每个页面从3个性能维度的打分,我记得Google也出了一个SDK。这个后面再补充吧。

以下观点摘录自 《Android性能优化之道》 作者:赵子健


知识储备:

  • 应用层
  • 系统层
  • 硬件层
应用层

加深对应用的了解:

  • 有哪些线程,什么作用、什么业务使用,消耗多少CPU资源
  • 内存占用多少,缓存命中率多少
  • 启动过程,核心页面打开中的 所做,I/0阻塞耗时是多少?逻辑耗时是多少?CPU使用率多少?
系统层

Linux系统知识

  • 进程管理和调度,内存管理、虚拟内存、锁、IPC
    Android系统知识
  • 虚拟机、核心服务、渲染、核心流程
硬件层

CPU特性

  • 几个核心组成、哪些是大核心、哪些是小核心
  • 将核心线程 如何绑定 到大核心运行
    存储结构的寄存器、高速缓存、主存
  • 核心数据如何放到 高速缓存
再进一步

汇编、编译器、编程语言、逆向等

  • C++语言写核心模块、优化编译器内联、消除无用代码 来减小体积
  • 逆向技术 优化系统逻辑

多角度思考

跳出设备本身去思考,

  • 利用 Google Play 的哟花方案、上传一些 已编译好的机器码
  • 服务器端渲染成 静态页面 下发,冷启动 先给一个加的静态页面
科学方式思考

从上而下

  • 从这个整体考虑,设计全局的框架 管控业务对资源的使用
    • 预加载框架、降级框架、或 全局监控
  • 从下而上
    • CPU利用率 缓存命中率。从 硬件 系统 应用 逐步向上思考
优化流程

需要考虑完整的流程

监控

  • 监控之前说的各个指标
  • 减少监控造成的性能耗损
  • 对归因进行监控: 监控大集合、大图片、大对象 等内存中使用占比
    优化
  • 性能优化只是一个环节
    数据收益获取
  • 观察指标 变化
  • A/B测试
  • 核心指标监控
    • 内存触顶率、崩溃率、用户留存率等与 用户体验直接相关的核心价值指标,获取优化的收益
      防劣化
  • 完善线下性能测试、线上监控报警 等机制
    • 每天通过Monkey测试内存泄漏的情况,及时发现、解决问题
相关推荐
打工仔折腾 AI1 小时前
把模型切换交给平台:用蓝耘智能路由搭建商品评论分析工具
java·服务器·前端·后端·python·性能优化·ai agent 实战
努力努力再努力wz2 小时前
【CUDA入门系列】CUDA 执行模型与性能优化:SM 调度、Occupancy、内存访问与 Bank Conflict
性能优化·架构
打工仔折腾 AI21 小时前
从零写一个CAD 02:实体容器、Esc取消与键盘失灵的排查
人工智能·后端·python·性能优化
Sayai1 天前
Neo4j 内嵌模式(Embedded)实战:Java 嵌入式 vs 服务端部署的写入性能对比与 GC 调优
java·开发语言·性能优化·neo4j·图数据库
打工仔折腾 AI1 天前
Prometheus接入Pushgateway实战:二进制与Docker部署、指标推送与远程写入
后端·python·docker·容器·性能优化·prometheus·ai agent 实战
yume_sibai1 天前
02-Nginx进阶配置完全指南(性能优化 + 安全配置 + 缓存配置 + WebSocket代理)
nginx·安全·性能优化
警醒与鞭策1 天前
【无标题】
android·unity·性能优化·游戏引擎·perforce
JosieBook2 天前
【数据库】MySQL 实战精通系列 · 第8篇:慢查询治理与性能优化实战
数据库·mysql·性能优化
CopyCode2 天前
我排查了一下午,发现项目打包体积翻倍的元凶是它
前端·性能优化
the3clipse2 天前
视频编码技术如何赋能游戏性能优化:从硬件隔离到AI驱动的带宽革命
游戏·性能优化·音视频·视频编码·硬件加速·ai编码·自适应编码