我在真实设备上进行测试 我在AndroidManifest中拥有所需的权限
在我开始将用户登录到系统的网络操作之前,我有这行代码
Debug.startMethodTracing("trace");
在完成之后,在方法返回之前,我有这行代码:
Debug.stopMethodTracing();
我可以在SD卡上找到该文件,但它是空的。
答案 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()中停止跟踪集合。
如果上述方法有效,请尝试缩小跟踪范围并进一步调查。
希望这有帮助