第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > Android如何分析native代码 使用android-ndk-profiler对native代码进行性能分析

Android如何分析native代码 使用android-ndk-profiler对native代码进行性能分析

时间:2019-08-16 01:14:43

相关推荐

Android如何分析native代码 使用android-ndk-profiler对native代码进行性能分析

android-ndk-profiler需要使用gcc进行编译,从NDK r13b 起NDK使用的默认编译器从gcc换成了clang,官方提供了Simpleperf工具进行性能分析,具体情况可以参考https://developer./ndk/guides/simpleperf 。

下载

使用

编译方面的改动

修改Android.mk以导入android-ndk-profiler模块

# compile with profiling

LOCAL_CFLAGS := -pg

LOCAL_STATIC_LIBRARIES := android-ndk-profiler

# 在 Android.mk 最后

$(call import-add-path,$your_path) #导入android-ndk-profiler的路径

$(call import-module,android-ndk-profiler)

代码方面的改动

在开始和结束的方法里分别调用monstartup 和 moncleanup。

//在代码开始前

monstartup("your_lib.so");

//在代码结束后

moncleanup();

代码分析生成的gmon.out文件保存在/sdcard/gmon.out。在AndroidManifest.xml文件添加写入权限,以便应用能写入到sd卡。

得到结果

编译程序运行,使用adb把gmon.out文件拉到电脑上。

adb pull /sdcard/gmon.out .

运行gprof工具,将带有调试信息的库(通常在 $PROJECT/obj/local/armeabi-v7a/libXXXX.so)作为参数传给gprof工具就能得到结果了。

$ANDROID_NDK/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/arm-linux-androideabi-gprof your_lib.so

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。