配置文件共享库 Android NDK 应用程序

Profile shared library Android NDK application

我正在开发一个 Android 应用程序,它大量使用 NDK 并且还使用从 C++ 编译的外部共享库。

这些库包含各种算法,我想使用分析工具来提高该库中代码的性能。值得一提的是,我正在使用 CMake 构建我的 C++ 库。

是否有适合我的情况的分析工具?

编辑:

特别是,我可以将 android-ndk-profiler 与我的共享库一起使用吗?

我发现了两种可用于本机 Android C++ 库的方法。

1) "Intrusive" 分析。使用 -pg 编译您的代码并使用 android-ndk-profiler 项目来 link 一切。

2) "Non-intrusive" 方式。在设备上使用 fplutil android_ndk_perf 到 运行 perf。按照他们的文档进行指导。

第一种方法应该可以在任何地方工作,而第二种方法需要 Linux 内核的一些支持,并且可能无法在某些设备上正常工作。