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

加量批注

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

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

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


知识储备:

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

加深对应用的了解:

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

Linux系统知识

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

CPU特性

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

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

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

多角度思考

跳出设备本身去思考,

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

从上而下

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

需要考虑完整的流程

监控

  • 监控之前说的各个指标
  • 减少监控造成的性能耗损
  • 对归因进行监控: 监控大集合、大图片、大对象 等内存中使用占比
    优化
  • 性能优化只是一个环节
    数据收益获取
  • 观察指标 变化
  • A/B测试
  • 核心指标监控
    • 内存触顶率、崩溃率、用户留存率等与 用户体验直接相关的核心价值指标,获取优化的收益
      防劣化
  • 完善线下性能测试、线上监控报警 等机制
    • 每天通过Monkey测试内存泄漏的情况,及时发现、解决问题
相关推荐
天空之城--2 小时前
Android行业一周动态:编码趋势与行业资讯汇总
android·性能优化·架构·kotlin·android jetpack
ai小陈3 小时前
PyTorch Profiler性能分析实战:定位GPU训练中的慢算子
人工智能·深度学习·机器学习·ai·性能优化·gpu算力
闲坐含香咀翠6 小时前
从 132MB 到 25MB:列式存储怎么把 CPU 缓存命中率提上去的
前端·数据结构·性能优化
闲坐含香咀翠6 小时前
把 AntV S2 列头计算从 O(n²) 降到 O(n):一次开源组件的性能改造
前端·性能优化
闲坐含香咀翠6 小时前
Worker 常驻 + 零拷贝:postMessage 的结构化克隆算法与 Transferable 的真实代价
前端·性能优化
闲坐含香咀翠8 小时前
百万行数据透视表,我是怎么把 Vue 响应式开销砍到零的
前端·vue.js·性能优化
天天喝旺仔12 小时前
PostgreSQL 慢查询治理实战:读懂 EXPLAIN ANALYZE 执行计划,落地复合索引、部分索引与覆盖索引
sql·postgresql·性能优化·数据库开发
g105655913915 小时前
华为 OceanStor 基础使用入门指南
服务器·数据库·性能优化
程序员清风16 小时前
从 JVM 内存模型到 GC 调优:Java 服务性能优化实战
java·jvm·性能优化