处理线程

时间:2011-04-08 14:42:25

标签: android multithreading ondestroy

管理在后台运行的线程的正确方法是什么?

例如,我有一个创建多个线程的Activity。我需要做以下事项:
1)销毁应用程序时销毁所有线程 2)如果用户离开活动
,则暂停在Activity中创建的线程 3)如果活动被销毁,则销毁在Activity中创建的线程

我唯一想到的就是将所有线程变量声明为public,以便能够在上面列出的这些事件上发出t.destroy()或类似内容。 首先,我不确定这是否正确,其次,我不喜欢它,因为我必须更改代码以确保我可以引用我创建的所有线程。

例如,我的情况是我的Activity实例化新对象(例如LoadImages.class),并且该对象根据要加载的图像数量创建多个线程。从调用活动中看不到线程。

那么,我是否必须将线程引用传递给调用活动,或者有一些方法可以知道谁是该线程的父级,并且只销毁具有特定父级Activity的线程?

1 个答案:

答案 0 :(得分:0)

对于LoadingImages我认为有一个简单的解决方案:在LoadingImage上使用名为release的公共方法,允许它释放自己的资源。

如果您的每个活动都在破坏自己的线程,我认为您不需要执行第1步。