Android Perfetto 监控应用启动耗时

Perfetto 是一个 Google 开发的用于安卓系统性能监控和调试的工具,它旨在提供实时数据收集和可视化功能,帮助我们分析和优化应用程序的性能表现。Perfetto 可以捕获系统事件、CPU、内存、网络、GPU 等性能指标数据,并将其记录为轻量级的 Trace 文件,我们可以通过 Perfetto 的可视化界面(https://ui.perfetto.dev/)或者命令行工具进行查看和分析。

此前更多使用的是 Systrace,而 Perfetto 相比 Systrace 有更多的优势。

Perfetto 支持更多的性能指标数据的采集和记录,包括系统事件、内核跟踪、堆栈跟踪等,提供了更全面的性能分析功能。其次, Perfetto 的可视化界面也更加友好和直观,方便我们快速理解和分析数据。

在实际的开发过程中,做启动优化和监控单纯靠 Traceview 是不太准确的,因为 Traceview 获取的信息比较局限,而 Perfetto 能站在上帝视角来查看应用的启动过程

接下来我举一个使用 Perfetto 的 ADB 命令来监控应用启动耗时的例子


 在应用启动的时候故意写一个耗时(渲染一个布局800次):

class MyApp : Application() {

    override fun onCreate() {
        super.onCreate()
        for (i in 0 until 800) {
            LayoutInflater.from(this).inflate(R.layout.activity_main, null)
        }
    }
}

把应用安装到手机上,杀掉要监控的应用的进程,回到桌面,准备工作就算完成了


使用 adb 命令开启监控:

adb shell perfetto -o /data/misc/perfetto-traces/trace_file.perfetto-trace -t 5s sched freq idle am wm gfx view binder_driver hal dalvik res memory

 一按回车会进入录制状态:

在录制状态下打开应用,等待录制结束

录制完成后再使用 adb 命令将 Trace 文件导到本地电脑上:

adb pull /data/misc/perfetto-traces/trace_file.perfetto-trace

将 Trace 文件拖入可视化界面(https://ui.perfetto.dev/)它会自动打开

确认有 Android App Startups 标识(没有的话重新录制一遍)

展开要监控的包名就能看到启动信息了:

这个 bindApplication 就是 App 启动初始化的过程了,可见是非常长的,也就是比较耗时。我们将其放大即可看到具体的耗时操作(使用键盘上的 ws 可以缩放,ad 可以左右移动)

可见上面密密麻麻的  inflate,因为我们在 Application 的 onCreate 中渲染了 800 次布局


我们知道了做了哪些耗时操作后,再根据业务实际情况进行异步等优化处理,这样子我们启动优化的目的就达到了

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: Android基于Perfetto 是指Android手机操作系统基于Perfetto技术进行性能分析和优化。 Perfetto是一种高效的性能分析工具,它旨在帮助开发者了解和优化Android设备的性能。它提供了一种跨平台的工具集,可以捕获和分析系统和应用程序的性能数据。通过使用Perfetto,开发者可以更深入地了解他们的应用程序的性能状况,并有针对性地进行优化。 Android基于Perfetto主要有以下几个方面的应用。首先,Perfetto可以在设备上收集和记录各种性能数据,如CPU使用率、内存使用情况、网络活动等。这些数据可以帮助开发者分析和定位应用程序中的性能问题,并及时进行优化。其次,Perfetto可以帮助开发者分析系统级别的性能问题,例如系统的响应时间、电池寿命等。通过收集和分析这些数据,开发者可以发现系统级别的性能瓶颈,并提出相应的解决方案。最后,Perfetto还可以与其他调试工具和性能分析工具集成,以提供更全面的性能分析功能。 总的来说,Android基于Perfetto技术可以帮助开发者更好地了解和优化Android设备的性能。它提供了丰富的性能分析功能,帮助开发者更深入地了解应用程序和系统的性能状况,并提供相应的优化建议。通过使用Android基于Perfetto,开发者可以提升应用程序的性能,提供更好的用户体验。 ### 回答2: Android基于Perfetto的意思是Android系统在性能追踪方面采用了Perfetto这一开源工具。Perfetto是一个用于系统级性能追踪的工具套件,旨在帮助开发者识别和解决Android系统中的性能问题。 通过使用Perfetto,开发者可以对Android系统进行详细的性能追踪和分析。Perfetto工具套件提供了一系列用于捕获、提取和可视化性能数据的工具和API。通过这些工具和API,开发者可以收集和分析与CPU、内存、磁盘、网络等相关的性能数据。 Perfetto还为开发者提供了一个可视化的分析界面,用于直观地查看和理解性能数据。开发者可以根据这些数据追踪系统中的性能瓶颈和问题,并采取相应的优化措施。 Android基于Perfetto的使用带来了许多好处。首先,它为开发者提供了一个全面的性能追踪和分析工具,帮助他们更好地理解和解决系统中的性能问题。其次,Perfetto的开源性质使得开发者可以自由地调整和扩展工具套件,以满足特定的需求。 综上所述,Android基于Perfetto应用使得开发者能够更好地了解和优化系统的性能问题,提高用户体验和系统效率。这对于Android开发者和用户来说都是一个积极的进步。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值