可以转储/检查后堆栈吗?

时间:2015-03-02 22:14:19

标签: android android-activity back-stack

出于调试目的,我希望能够在后台堆栈中记录活动,但是我没有看到任何API来执行此操作,也无法在搜索时看到它。有办法吗?

2 个答案:

答案 0 :(得分:1)

实际上,我也非常喜欢这个问题。不幸的是没有。让我们想一想为什么?

Java抓住我们的手:

1) Annotations - 与DI的方式。(反射方式),如ButterKnife
   2)登录后台的父类。

public class MainActivity extends LogActivity //for ex

3)使用Thread.currentThread().getStackTrace(),但您应该检查您当前的位置,您现在正在检查的线程和其他日常工作。

推荐链接hereherehere

答案 1 :(得分:0)

您可以使用以下命令 adb shell dumpsys activity 它将在开始时打印很多东西,包括后堆栈:

Running activities (most recent first):
  TaskRecord{45168b4 #2194 A=com.example.myapp U=0 StackId=22 sz=3}
    Run #2: ActivityRecord{a05a1af u0 com.example.myapp/com.example.myapp.activity.MyActivity t2194}
    Run #1: ActivityRecord{5c017cd u0 com.example.myapp/com.example.myapp.activity.MySecondActivity t2194}
    Run #0: ActivityRecord{6fe38b2 u0 com.example.myapp/com.example.myapp.activity.MyThirdActivity t2194}

另一种解决方法是先键入adb shell,然后按Enter,然后再输入dumpsys activity | grep -i run。这只会显示后退堆栈,而不会显示其他内容,而是需要两个命令。