你可以在目标终端或者Emulator 上使用bada IDE中的分析工具来分析应用的执行情况.分析工具可以为你重提应用有多少方法被调用以及应用的执行时间, 还能推算处代码片段最长执行时间.这些信息可用进一步帮助你通过确认代码块的瓶颈来优化你的应用的代码
注意分析器仅对 C++ 以及 flash 应用可用
要使用分析器,你必须首先在应用中set the profiling opTIons(设置分析选项), 并在 target device(目标终端) 或者 Emulator(模拟器)上运行你的应用.分析结果会在应用运行后显示在IDE的 Profile view(分析视图)中.如果你使用了 gprof 分析选项, 你还可以使用 Gmon File Viewer查看之前运行生成的分析结果.
分析视图IDE的 Profile view(分析视图)会在下列情况显示:你的应用带有 -p 和-pg 分析选项时显示,完成一次运行;或者当你使用Gmon File Viewer(Gmon文件查看器)从gmon.out 文件中打开生成的分析结果时
Profile view显示了在应用运行中调用的方法以及他们的摘要信息,例如调用次数以及执行时间.
Profile view 覆盖下列分析信息:
- Name (locaTIon)(名字[位置])
列出分析的资源文件以及它们的方法.
- Samples样例
对方法进行取样统计. 对方法调用的取样每10毫秒进行一次
- Calls(调用)
在应用执行时方法被调用的次数.在应用执行时方法每调用一次统计数就会相应增加一次.
- TIme/Call(时间/单词调用)
方法每次调用的执行时长.
- %TIme(时长百分比)
每个方法执行时间在应用执行总时间中的百分比
在Profile 视图中, 你可以:
- 按照执行时长对方法进行排序
- 查看每个方法对应的调用图.
- 分析结果显示在抽样与时间信息两种显示模式间切换
- 通过双击需要查看的方法或者文件来查看某个文件的源代码
下图向我们展示了显示在分析视图中的应用分析结果
Figure: Example of the Profile view
展开所有列表中的方法 Collapse All(折叠)
收起所有列表中的方法 Show/Hide Columns(显示/隐藏列)
在 Profile view中显示或者隐藏列. Export to CSV(导出到CSV)
将 gprof 结果导出为一个CSV 文本文件. 你也可以以电子表格格式打开这个文件. Sort samples per file
按照文件排序来显示gprof 结果 Sort samples per function
按照方法排序来显示gprof 结果 Sort samples per line
按照行排序来显示gprof 结果 Display function call graph
按照调用图排序来显示gprof 结果 Switch samples/time
分析结果显示在抽样与基于时间信息两种显示模式间切换 英文原文地址:
http://developer.bada.com/help_2.0/topic/com.osp.documentation.help/html/dev_env/profile.htm
如何设置分析选项
你需要使用prof 以及 gprof 分析选项设置你的应用的属性以生成分析信息
步骤:
设置分析选项
要想分析你的应用,同时选中 Generate prof information (-p) 和 Generate gprof information (-pg) 复选框.
将${TARGET_LIB_PATH}/libprofiler.so 作为分析器类库添加 到Other objects 面板中.
要分析使用低于bada2.0版本API开发的应用,需要包含下面的代码片段到应用的<ProjectName>Entry.cpp 文件中:
- #ifdef _PROFILE
- extern void start_profile(void);
- extern void end_profile(void);
- #else
- #define start_profile()
- #define end_profile()
- #endif
- Int OspMain(int argc, char *pArgv[])
- {
- ...
- start_profile();
- r = Osp::App::Application::Execute(<ProjectName>::CreateInstance, pArgs);
- end_profile();
- ...
- }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)