性能优化的本质-合理利用资源-Android性能优化之道

加量批注

非常具有启发性,优化的手段 要取决于Context 场景 机型,预加载、多线程、缓存 在不通的硬件环境中,要相应增加、减少。

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


本质

充分且合理使用设备硬件资源,提高用户体验、增加企业收益

为什么叫合理?

预加载、多线程、缓存,不一定能优化性能。

例如:

  1. 当CPU使用率已经很高了,预加载、多线程 只会雪上加霜,还会导致 劣化效果。(相反,CPU使用率较低就可以)
  2. 当内存占用已经很多了,使用更多的缓存,只会导致系统频繁GC,甚至OOM问题

很多时候,之所以性能优化不佳,是因为制定优化方案时,没有从性能优化本质思考。 只有 充分且合理的使用硬件资源 去制定方案,才能确保 优化方案有效。

硬件资源
  • CPU
    • 中低端机型,CPU性能差,容易过载:降低PCU的消耗合理使用 CPU资源
      • 减少线程、减少和关闭预加载,让更多的CPU资源 分配给 主线程或核心任务。
    • 高端机型,CPU性能好,充分使用CPU资源
  • 内存
    • 针对设备内存大小,设置缓存大小
  • 磁盘
  • 电池
  • 蓝牙等

取得收益

选取真正能体现程序 对用户体验和收益 产生影响的指标

  • 制定指标

    • 速度指标:启动速度、页面打开速度
    • 内存指标:PSS值(内存实际占用物理内存量)、 Java内存使用率、Native 内存占用率
      • PSS改为 OOM率、GC次数等 更能体现对 用户体验和收益影响
      • 例如PSS(实际内存占用量)下降了100MB,是好,还是坏。(可能打开速度变慢,性能体验变差。
    • 稳定性指标:Crash率、OOM率
  • 采集指标

    • 要做到 精确、一致并尽量减少 对性能的消耗
相关推荐
爱喝水的鱼丶3 小时前
SAP-ABAP: BAdI 开发规范与避坑指南:10 类典型错误与运维方案
运维·性能优化·sap·abap·增强·经验交流·开发交流
天空之城--4 小时前
Jetpack Compose 性能优化完全指南:从重组原理到实战
性能优化
衡石科技17 小时前
ChatBI性能优化与流式响应衡石自然语言问数毫秒级体验技术解析
人工智能·科技·性能优化·企业级bi
方白羽18 小时前
性能分析:Android Studio Profiler
android·性能优化·app
哈__1 天前
全链路并行同步技术:异构增量数据同步性能优化实践
性能优化
ai产品老杨1 天前
GPU部署不是配上就能跑:性能优化里的关键参数(第2064组场景)
性能优化
天空之城--1 天前
Android Launcher 性能优化完全指南:从启动到滑动,构建极致流畅的桌面体验
android·性能优化
图扑软件1 天前
下篇・换墨|主题/多语言/移动端,一套组件全覆盖
前端·javascript·ui·性能优化·数据可视化
陈皮糖..1 天前
基于 Keepalived 的传统 Web 高可用架构的容器化改造与可观测性升级
运维·docker·性能优化·架构·云计算·prometheus