The invention discloses a method and a device for tracking analysis of an application, which is used for implementing performance tracking analysis under various versions of an Android platform, and can support C++ codes. The method of the invention comprises: according to the included C++ language source code of the JNI folder set up to support the first performance of the local development equipment NDK compiler analysis component, the source code for the log and write the log file; the first component performance analysis is saved to the java file Android new system platform. The second component analysis performance; using the Android.mk script of the second performance analysis component analysis component compiled for the third performance form of the local library file; applications running in the APP when the third performance analysis of dynamic loading of components to the APP analysis, the APP consists of third components of tracking performance, get the APP run time.
【技术实现步骤摘要】
一种应用程序的跟踪分析方法和装置
本专利技术涉及计算机
,尤其涉及一种应用程序的跟踪分析方法和装置。
技术介绍
随着智能终端的快速发展,智能终端上安装的应用程序(APP,Application)也日益增多,对各类APP的性能需要进行跟踪分析。目前运行在安卓(英文名称:Android)平台下的智能终端中存在Log、TraceView、SysTrace等性能分析工具,可以实现Android平台上做性能优化。但目前,现有的技术方案只能做到部分分析或者支持部分开发语言,无法两者兼得。例如现有的Log工具,只能用于少量数据的性能分析,在复杂情况或者数据比较多的情况下,分析非常困难,各参量读取只能逐行查找,任务量很大。又如现有的TraceView工具,只能适用于Android平台的部分高版本,而在Android2.2以下无法支持,并且主要支持java层的性能分析,在C++代码中无相应接口。又如现有的SysTrace工具,虽然可以支持java层和C++层的性能分析,但同样也只能适用于Android平台的部分高版本,而不支持Android4.0以下的系统版本。综上所述,目前Android平台下的智能终端中已有的性能分析工具,要么分析困难,要么对Android全平台支持不够好,要么是对C++代码支持不足。因此,迫切需要提供一种新的性能分析工具,以解决上述问题。
技术实现思路
本专利技术实施例提供了一种应用程序的跟踪分析方法和装置,用于实现各种版本的Android平台下的性能跟踪分析,并且可以支持C++代码。为解决上述技术问题,本专利技术实施例提供以下技术方案:第一方面,本 ...
【技术保护点】
一种应用程序的跟踪分析方法,其特征在于,包括:根据包含用C++语言编写的源代码的JNI文件夹建立支持本地开发设备NDK编译的第一性能分析组件,所述源代码用于记录日志以及写日志文件;将所述第一性能分析组件保存到Android系统平台下新增加的java文件中,得到第二性能分析组件;使用Android.mk脚本将所述第二性能分析组件编译为本地库文件形式的第三性能分析组件;在应用程序APP运行时将所述第三性能分析组件动态加载到所述APP中,由所述第三性能分析组件跟踪所述APP,得到所述APP的运行耗时。
【技术特征摘要】
1.一种应用程序的跟踪分析方法,其特征在于,包括:根据包含用C++语言编写的源代码的JNI文件夹建立支持本地开发设备NDK编译的第一性能分析组件,所述源代码用于记录日志以及写日志文件;将所述第一性能分析组件保存到Android系统平台下新增加的java文件中,得到第二性能分析组件;使用Android.mk脚本将所述第二性能分析组件编译为本地库文件形式的第三性能分析组件;在应用程序APP运行时将所述第三性能分析组件动态加载到所述APP中,由所述第三性能分析组件跟踪所述APP,得到所述APP的运行耗时。2.根据权利要求1所述的方法,其特征在于,所述源代码为C++语言编写的跟踪tracing代码。3.根据权利要求1所述的方法,其特征在于,所述根据包含用C++语言编写的源代码的JNI文件夹建立支持本地开发设备NDK编译的第一性能分析组件,包括:将用C++语言编写的源代码拷贝到JNI文件夹中,得到包含所述源代码的JNI文件夹;将包含所述源代码的JNI文件夹保存到第一性能分析组件中。4.根据权利要求1所述的方法,其特征在于,所述将所述第一性能分析组件保存到Android系统平台下新增加的java文件中,得到第二性能分析组件,包括:在Android系统平台的src目录下增加java文件,所述java文件包括:供Android系统平台调用的多个应用程序编程接口API;将所述第一性能分析组件以native函数的方式定义在所述java文件中,得到第二性能分析组件。5.根据权利要求1所述的方法,其特征在于,所述将所述第一性能分析组件保存到Android系统平台下新增加的java文件中,得到第二性能分析组件之后,所述方法还包括:将所述第二性能分析组件打包为jar形式。6.根据权利要求1所述的方法,其特征在于,所述使用Android.mk脚本将所述第二性能分析组件编译为本地库文件形式的第三性能分析组件,包括:在Android系统平台下编写Android.mk脚本;使用所述Android.mk脚本在所述Android系统平台的lib/armeabi下生成本地库文件;对所述第二性能分析组件进行编译,输出编译后的第二性能分析组件到所述本地库文件,得到第三性能分析组件。7.根据权利要求1所述的方法,其特征在于,所述在应用程序APP运行时将所述第三性能分析组件动态加载到所述APP中之前,所述方法还包括:若所述APP为C++代码,在所述第...
【专利技术属性】
技术研发人员:舒玉强,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。