启动优化总方针
1、优化总方针
异步、延迟、懒加载
懒加载:当页面需要到的时候再去加载
技术、业务相结合
2、注意事项
wall time 与cpu time:
cpu time才是优化方向
按照systrace 及cpu time跑满cpu
监控的完善
线上监控多阶段时间(App,Activity,生命周期间隔时间)
收敛启动代码修改权限
结合Ci修改启动代码需要Review或通知(也就是说其他人要修改我们的代码,需要合入代码时,需要通知我)
3、其他方案
3.1 提前加载SharedPrefrences(当存储量多时,SharedPrefrences存取数据有可能产生锁,就会产生等待,影响效率)
Multidex之前加载,利用此阶段CPU
覆写getApplicationContext()返回this
3.2 启动阶段不启动子进程
子进程会共享CPU资源,导致主进程CPU紧张
注意启动顺序:App onCreate之前是ContentProvider。在启动之前,不启动其他三大组件
3.2 类加载优化:提前异步类加载
Class.forName()只加载类本身及其静态变量
new 类实例可以额外加载类成员变量的引用类
3.3 启动阶段抑制GC
3.4 CPU锁频
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】