如何配置第三方应用程序?

时间:2014-04-15 13:18:18

标签: android profiling profiler

我在Google Play上安装了一些第三方应用。出于某些研究目的,我需要对这些应用进行分析。

例如,描述某些回调函数的时间,例如“onCreat()”“onStartCommand()”“onStopped()”,开始和结束。

有任何线索吗?

2 个答案:

答案 0 :(得分:1)

如果你可以在调试器下运行整个事情,那么第三方代码是否有调试信息并不重要,只要你按下Ctrl-C或Pause,如果它在你的一个回调中,它显示了堆栈上的回调。

堆栈跟踪在回调中应该看起来像这样:

<some system/library routines called by your callback>
    ...
YourCallbackCode
    ...
<the 3rd-party routines>
    ...
YourTopLevelCode
    ...
main()

因此,如果您采用10或20个这样的样本,YourCallbackCode出现在堆栈上的时间部分是对其负责的时间段的良好估计。 (除非它非常小,在这种情况下,您的代码不是瓶颈。)

例如,如果它在50%的堆栈样本上,则它负责50%的时间(大约)。 因此,如果您可以减少一半的时间(例如减少new s),那么您将节省50%的一半,或总体上25%,加速100/75 = 1.33 = 33%

您甚至可以看到回调代码中的哪些行花费了大部分时间。

答案 1 :(得分:0)

选择开源的应用程序,在调试模式下从源代码编译它们,然后分析结果。