如何在Activity Java代码中找到forks?

时间:2015-11-21 20:23:36

标签: java android multithreading android-activity

我将MainActivity类复制粘贴到一个简单的Android应用程序中,该应用程序使用BluetoothAdapter,TextToSpeech以及Runnable状态检查程序,定期运行。对于后者,我已经“实现了TextToSpeech.OnInitListener”。

代码可能太大而无法在此处发布,因此我将尝试以一般形式提出问题,然后解释原因。

如何理解Java代码中“线程分叉”发生在哪里,一切看起来像方法调用?是否存在任何约定(对于Android库,特别是在Java范围内),以区分简单的调用和调用,这就是它自己的线程?或者RTFM是找到分叉发生地点的唯一方法吗?

实际问题是蓝牙LE扫描(?)有时会重复,一个接一个地产生双(或三个,有时更多)的日志条目。我想,我在onStop,onResume,onDestroy等钩子上有一个错误(虽然我试图按照图in the docs上的状态转换),但是很难找出为什么一些线程/任务存活并重复。

我偶尔会在Java中“编程”,所以我很少知道如何调试并发性。但也许有经验的人可以分享一般提示/建议/指导方针,在比我的情况更多的情况下有用。

0 个答案:

没有答案