应用启动优化

主要是冷启动优化。

借助systrace 以及 traceview工具共同判断。Android10以上可用perfetto代替systrace。忘记哪个版本开始SDK中的platform-tools中移除了systrace。

可以用systrace看下准确耗时的流程,通过在代码中加入Trace.beginSection/endSection标识起始点。

再通过traceview的Debug.startMethodTracing来看下具体的方法执行的时间比例,这个工具无法查看精准时间有误差。但是可以通过比例排查是哪个方法耗时。

应用启动的开始时间点标记在attachBaseContext处,结束时间点标志性在Activity/WindowFocusChanged处。根据activity启动流程得出结论。

绿色联盟应用的标准: 冷启动 < 1000ms 热启动 < 500ms。

应用原始启动时间是 1147ms。

首轮优化: 将极光/友盟SDK初始化放到子线程,网络接口相关初始化也放到子线程。启动时间是: 758ms。还是挺显著,当然本来表现也还可以。

systrace是个python脚本,仅支持python2.7。具体使用可用help 或 --list-categories查看。

常用参数: python systrace.py -o {文件路径}  -t 8 -b 16384 -a {包名} gfx view am sm wm res sched freq idle

traceview生成的文件默认在存储上的应用沙盒目录下。

第二轮优化:将View通过LayoutInflater解析xml方式改为new方式创建。效果同样十分明显。能在原基础上根据xml复杂程度减少很大一部分时间。注意在子线程上构建View、绑定View属性,在主线程添加View。

其实在自线程也可以更新View,只要不涉及Layout变化即可。例如TextView,只要控件尺寸固定,在子线程更新view也没问题。例如ImageView,只要填充图片的Drawable尺寸没变化即可。关键就是不要触发requestLayout方法。

另外使用AsyncLayoutInflator也是个选择,可以异步预加载复杂的页面。

58同城Android App启动优化实践-服务器专区

Android性能优化之启动速度优化_失落夏天的博客-CSDN博客_android 启动速度优化

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Ubuntu是一种流行的开源操作系统,有许多启动优化的方法可以提高其启动速度和性能。以下是一些常见的Ubuntu启动优化技巧: 1. 禁用不必要的服务和程序:Ubuntu默认启用了许多不常用的服务和程序,可以通过编辑/etc/rc.local或使用命令行工具如systemctl来禁用它们。 2. 清理自动启动项:Ubuntu通过~/.config/autostart目录中的应用程序来管理自动启动项。检查这个目录并删除不需要的应用程序的快捷方式。 3. 优化硬件驱动程序:更新和安装最新的硬件驱动程序可以提高系统的兼容性和性能。使用命令行工具如apt-get或通过Ubuntu软件中心来安装和更新驱动程序。 4. 禁用不必要的提示和动画效果:禁用一些视觉效果和提示可以节省系统资源,提高启动速度。在“外观”或“外观与行为”选项中,可以找到相关设置。 5. 清理无用文件和软件:通过删除不需要的文件和卸载不使用的软件,可以释放磁盘空间并提高启动速度。可以使用命令行工具如apt-get或通过Ubuntu软件中心来删除软件。 6. 安装SSD硬盘:如果你的计算机支持SSD硬盘,将系统安装在SSD上可以显著提高启动速度和响应能力。 7. 创建启动器预热缓存:使用预热缓存可以加快系统的启动速度。使用命令行工具如preload进行安装和配置。 8. 使用更轻量级的桌面环境:某些桌面环境比其他桌面环境更轻量级,启动速度更快。考虑使用像Xfce或LXDE这样的桌面环境。 通过上述启动优化技巧,可以显著提高Ubuntu系统的启动速度和性能,让用户获得更好的使用体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值