Android:开始新活动后保持旧线程运行?

时间:2014-06-17 18:07:14

标签: java android multithreading

我有一个主菜单屏幕,可以在按钮点击时启动新的处理线程。

主菜单活动然后启动一个新活动(这意味着它进入OnPause()OnStop()),我希望处理线程继续运行。从我所看到的,似乎处理线程不会被自动销毁。这是否意味着线程将持续跨活动,直到活动被销毁或线程被手动终止?

如果我将与线程一起使用的BlockingQueue传递给新的Activity,新活动是否能够使用旧处理线程的队列(take和put)?

谢谢!

1 个答案:

答案 0 :(得分:0)

线程应该依赖于您在一个活动中启动的线程。当你不希望它们存活时,良好的做法是确保它们在onPause()和onStop()生命周期调用中被杀死。

如果传递与另一个活动相关的参数,它们将被保留,只要您的线程仍在运行,您就可以根据需要添加到队列中。如果您正在执行此操作,那么您很可能也希望传递线程标识,以便您可以管理其生命周期。如果它是生活在一个活动之外的东西,那么请确保你在完成后最终停止/杀死它。