2 acmen99 Acmen99 于 2016.03.01 15:11 提问

Activity中开启线程进行耗时操作,怎么在Activity销毁时结束正在进行的线程

如题,在Android开发中,在activity中开启线程去执行耗时操作,有时候任务还没执行完Activity就被关闭了,有没有大神指导怎么在activity关闭的时候也杀死线程!有时候是多个线程使用线程池管理,怎么在activity销毁时关闭线程池里的所有线程!求高手指点迷津!

5个回答

vcommon
vcommon   2016.03.01 15:49

1.线程里必须有办法退出
2.onResume里建立线程
3.onPause里设置线程结束标志结束线程

qsjh898
qsjh898   2016.03.01 16:04

如果这个线程最终会自己消亡,那么你其实没有必要在Activity被销毁的时候去停止它。
你要做的,应该是防止这个线程和Activity之间挂钩,因为会引起内存泄露。

kidass_x
kidass_x 回复qsjh898: 谢谢你的回复;可以理解为成员变量之类的吗?方法内的局部变量不算吧;
接近 2 年之前 回复
qsjh898
qsjh898 回复Kav3000: 如果你的Activity持有该线程对象的引用,或者该线程对象持有该Activity对象的引用
接近 2 年之前 回复
kidass_x
kidass_x 普通的thread运行结束会自行消亡吧,这个挂钩是指什么场景?
接近 2 年之前 回复
ji1ruan
ji1ruan   2016.03.02 09:55

这种线程不要写在activity里,不要跟activity产生关系,由线程自己控制结束,不要用activity控制

Acmen99
Acmen99   2016.03.02 16:36

使用socket编程,不在activity里面开启线程怎么建立连接!

crazy1235
crazy1235   Ds   Rxr 2016.03.04 10:14

你可以用service来写。。。线程会自动销毁。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!