我在我的活动中创建了一个线程,该线程在运行大约10秒后将在我的活动中打印出我的实例变量的值。在线程打印出值之前,我按了后退键来销毁我的活动,当线程到达该行代码时,它仍然可以正确打印出值。这意味着即使活动完成,活动的java对象仍然存在。对象总是存在吗?或者只是等待GCed?或者它只会在Android需要内存时被杀死?
答案 0 :(得分:2)
请参阅this question:即使活动被销毁,您的线程也不会被垃圾收集。您需要专门请求您的线程在您的onFinish()函数中终止。然后让它自己杀死或者做一个join()以等待它实际终止。