我有一项任务是了解为什么长时间开发的 Unity 应用程序在 Android 设备上启动速度太慢。 我需要有关整个启动时间的信息,所以我决定使用 Android Studio 的分析工具而不是 Unity 分析器(它无法向我显示有关本机 SDK(如 Facebook、Firebase 等)的信息。+ 当我想正确获取分析数据时它非常不稳定应用程序启动后)。
有一个非常方便的“callstack sample”模式可以查看 CPU 上发生了什么,但是分析器使应用程序加载速度变慢,所以我无法准确理解调用的哪些部分真的很慢以及分析器正在减慢哪些部分。 我尝试了“系统跟踪”模式,我可以在其中使用 Trace API 添加自定义标记。现在我可以看到我的时间线标记,并且能够将无分析构建与分析构建进行比较,以了解分析器在某些时期导致的消耗开销(如活动创建、Unity 引擎初始化、场景加载、解决 Di 依赖项等)。但在那种模式下,我无法调查堆栈跟踪,只能看到我的和另一个不是很有用的标记。
问题是我如何结合这些分析模式来查看调用堆栈和系统跟踪,或者我如何直接在调用堆栈模式中标记一些应用程序生命周期事件?
我知道这是不同的分析模式,可能根本无法完成,但我是 Android 分析的新手,也许你知道一些技巧,因为我无法轻松比较调用堆栈和系统跟踪文件。
谢谢。
不幸的是,似乎无法轻松组合系统跟踪和调用堆栈文件。所以我手动比较它们并获得我需要的信息。