Android试图使用Debug.startMethodTracing(" trace") - 创建跟踪文件但它是空的

时间:2015-01-26 09:18:06

标签: android

我在真实设备上进行测试 我在AndroidManifest中拥有所需的权限

在我开始将用户登录到系统的网络操作之前​​,我有这行代码

Debug.startMethodTracing("trace");

在完成之后,在方法返回之前,我有这行代码:

Debug.stopMethodTracing();

我可以在SD卡上找到该文件,但它是空的。

1 个答案:

答案 0 :(得分:2)

到晚会结束时,你可能已经找到了答案。如果是这样,那么请不要犹豫,发布答案。

创建跟踪文件但空的事实意味着没有" flush"进入文件,意味着可能不会调用stopMethodTracing。 为了检测这是为什么,您可能希望扩大跟踪捕获的范围,以证明它确实有效。 我的建议是开始跟踪你的活动的onCreate方法并在LogCat中添加一个条目。

Log.d("onCreate", "Start tracing in onCreate");
Debug.startMethodTracing("trace-file");

然后你结束了活动的onDestroy

Log.d("onDestroy", "onDestroy called");
Debug.stopMethodTracing();

请记住,无法保证对onDestroy()的调用(尽管调用LogCat可能足以触发它),因此您可以在onStop()中停止跟踪集合。

如果上述方法有效,请尝试缩小跟踪范围并进一步调查。

希望这有帮助