1

我的活动启动了一个倒计时线程,如果完成,该线程还将尝试更新 UI 线程

活动本身可能会finish()在倒计时结束之前完成。如果活动进行,倒数计时器也会消失吗?

如果是这样,我可能需要在服务中运行倒数计时器

4

1 回答 1

1

不一定会。只要进程没有被杀死,你的线程就会存在。即使您没有前台活动,该进程也不会立即被操作系统杀死。没有他们只会增加被杀死的可能性。

从您的线程引用 Activity 也可能导致增加应用程序的内存占用,因为您的 Activity 不会被垃圾收集,因为您的线程仍然指向它。在这种情况下,您应该考虑(至少)使用弱引用。

最后,鉴于您的目的是让您的倒计时时间处于活动状态,即使您的应用程序在后台,您应该考虑将其移至服务中。

于 2012-12-23T21:53:48.457 回答