Android Runnable查找运行调用程序

Android Runnable查找运行调用程序,android,multithreading,runnable,Android,Multithreading,Runnable,我继承了一个巨大而可怕的Android项目,这让我想起了一个 在这个项目中,有一个神秘的活动实现了Runnable。运行函数失败,因为活动未正确初始化。我的问题是我不知道Runnable实际上在哪里运行 如何找到调用此活动的Runnable接口的点?断点似乎只是显示调用run()的父线程-哇,真令人惊讶。在项目中搜索活动类名的引用。。。可能是某个类正在显式创建活动的对象 我的问题是我不知道Runnable实际上在哪里运行 如果Runnable用于线程,则应该有类似新线程(someObject)的

我继承了一个巨大而可怕的Android项目,这让我想起了一个

在这个项目中,有一个神秘的活动实现了Runnable。运行函数失败,因为活动未正确初始化。我的问题是我不知道Runnable实际上在哪里运行


如何找到调用此活动的Runnable接口的点?断点似乎只是显示调用run()的父线程-哇,真令人惊讶。

在项目中搜索活动类名的引用。。。可能是某个类正在显式创建活动的对象

我的问题是我不知道Runnable实际上在哪里运行

如果
Runnable
用于
线程
,则应该有类似
新线程(someObject)
的代码供您尝试查找

构造函数需要一个
Runnable
,如果从类中删除
implements Runnable
部分,则创建
线程的代码现在不正确,并导致编译器错误,该错误应该会告诉您要查找什么

如果有人直接调用
run
方法,您可以重命名它,编译器会告诉您哪些地方调用了不存在的方法。或者

Exception e = new Exception("Debug");
e.fillInstackTrace();
e.printStackTrace();

是一种在代码中显示调用层次结构的快速方法,无需使用调试器或Eclipse之类的高级IDE。有时,在方法中放入一个有问题的执行分支,以找出是谁造成了这种情况,这样做很好。

删除
实现Runnable
,重命名
run
方法,并查看编译器告诉您在何处使用它。知道了。回答一下,我就投赞成票