用profiler工具对android ndk程序进行性能分析
来源:互联网 发布:网络监控布线 编辑:程序博客网 时间:2024/05/23 01:14
在软件开发的过程中,对于一些对性能较高的程序,经常需要对程序进行性能分析。GNU profiler就是这样一款性能分析工具,后被移植到android平台上,可以对ndk程序进行分析。
使用步骤如下:
1. 下载android-ndk-profiler,地址为:https://code.google.com/p/android-ndk-profiler/wiki/Downloads?tm=2
(如果上不去google code,可以到http://download.csdn.net/detail/loushuai/8206953这里下载,或者联系我发给你)
2. 将android-ndk-profiler.zip 解压到某个目录下,比如“d:\Tools\”
3. 修改Android.mk文件,加入如下内容
# 在Android.mk文件最后
4. 修改你的代码。
在初始化阶段加入(别忘了包含压缩包里的prof.h文件):
"/sdcard/gmon.out"是你保存gmon.out文件的路径。
5. 修改AndroidManifest.xml文件,增加对sd卡的写访问权限
6. 重新编译工程
ndk-build NDK_MODULE_PATH=d:\Tools\
其中,“d:\Tools\”换成你实际解压android-ndk-profiler.zip的路径。
OK,至此准备工作完成。
启动你的程序,在程序退出之后,在你所指定的路径中应该会生成一个gmon.out文件。
下面是对结果进行查看的步骤:
1. 将gmon.out文件拷贝到本地,如“d:\gmon.out”
2. 将你的库文件“your_lib.so”拷贝到本地,如“d:\your_lib.so”(注意,这里的so文件不是lib下的so,而是obj/local下的)
3. 用ndk工具包里的gprof工具对结果进行分析
d:\android-ndk-r9d\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-gprof.exe d:\your_lib.so d:\gmon.out就可以看到结果了。如果想把结果存成文本文件,可以使用重定向指令
d:\android-ndk-r9d\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-gprof.exe d:\your_lib.so d:\gmon.out > d:\result.txt
gprof命令的参数很多,具体可以参考官网说明。
使用步骤如下:
1. 下载android-ndk-profiler,地址为:https://code.google.com/p/android-ndk-profiler/wiki/Downloads?tm=2
(如果上不去google code,可以到http://download.csdn.net/detail/loushuai/8206953这里下载,或者联系我发给你)
2. 将android-ndk-profiler.zip 解压到某个目录下,比如“d:\Tools\”
3. 修改Android.mk文件,加入如下内容
LOCAL_CFLAGS := -pgLOCAL_STATIC_LIBRARIES := android-ndk-profiler
# 在Android.mk文件最后
$(call import-module,android-ndk-profiler)
4. 修改你的代码。
在初始化阶段加入(别忘了包含压缩包里的prof.h文件):
/* in the start-up code */monstartup("your_lib.so");在退出阶段加入:
/* in the onPause or shutdown code */setenv("CPUPROFILE", "/sdcard/gmon.out", 1);moncleanup();其中“your_lib.so”就是你的ndk编出来的动态库文件名。
"/sdcard/gmon.out"是你保存gmon.out文件的路径。
5. 修改AndroidManifest.xml文件,增加对sd卡的写访问权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
6. 重新编译工程
ndk-build NDK_MODULE_PATH=d:\Tools\
其中,“d:\Tools\”换成你实际解压android-ndk-profiler.zip的路径。
OK,至此准备工作完成。
启动你的程序,在程序退出之后,在你所指定的路径中应该会生成一个gmon.out文件。
下面是对结果进行查看的步骤:
1. 将gmon.out文件拷贝到本地,如“d:\gmon.out”
2. 将你的库文件“your_lib.so”拷贝到本地,如“d:\your_lib.so”(注意,这里的so文件不是lib下的so,而是obj/local下的)
3. 用ndk工具包里的gprof工具对结果进行分析
d:\android-ndk-r9d\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-gprof.exe d:\your_lib.so d:\gmon.out就可以看到结果了。如果想把结果存成文本文件,可以使用重定向指令
d:\android-ndk-r9d\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-gprof.exe d:\your_lib.so d:\gmon.out > d:\result.txt
gprof命令的参数很多,具体可以参考官网说明。
0 0
- 用profiler工具对android ndk程序进行性能分析
- 使用Profiler分析程序性能
- 使用yourkit java profiler进行性能分析
- 用dotTace模仿下老赵的“使用Profiler分析程序性能”
- Snapdragon Profiler性能监测和分析工具
- NVIDIA profiler性能分析工具使用
- 使用Visual Studio Profiler分析程序性能
- 使用Visual Studio Profiler分析程序性能
- 使用Visual Studio Profiler分析程序性能
- Visual Studio--Profiler分析程序性能
- 通过QML Profiler分析程序性能问题
- 如何对 Android 应用进行性能分析
- Android平台下Cocos2d-x等含有so库应用性能分析-Gprof(android-ndk-profiler)
- Android NDK Profiler 笔记
- Unity3d开发性能优化-性能分析工具Profiler使用
- unity Profiler性能分析
- Unity Profiler 性能分析
- Unity Profiler性能分析
- ipcs 和 ipcrm 命令
- 视频聊天软件的技术实现
- UVa 11389 - The Bus Driver Problem
- CShell
- 关于通过vmware安装windows8的几个问题及解决--无人参与应答文件包含的产品密钥无效
- 用profiler工具对android ndk程序进行性能分析
- JSP中文乱码问题终极解决方案
- Qt调用DLL动态库接口函数程序崩掉
- Deepflow 初步架构
- Big Endian 和 Little Endian
- linux以tree树状图逐级列出目录的内容
- oracle数据库误删恢复方法
- Qt多线程两种方式优劣,继承QThread还是MoveToThread
- 每天一个linux命令