【发布时间】:2013-01-17 11:19:24
【问题描述】:
我该如何正确地做到这一点?
我有一个秒表,我将它的状态保存在 onSaveInstance 并恢复它的状态在 onRestoreInstance...
现在我遇到了以下问题:如果我停止 onSaveInstance 中的线程并且屏幕被锁定或关闭,则不会调用 onRestoreInstance 并且秒表不会继续...
如果我不停止它,即使屏幕关闭或活动不再处于活动状态,秒表也会在后台持续运行......
那么处理这种事情的通常方法是什么?
PS:
我什至有一个可行的解决方案,一个局部变量来保存onStop事件中的运行状态并在onStart事件中重新启动线程......但我仍然想知道是否有使用android的“默认”解决方案系统本身....
【问题讨论】:
-
您希望秒表在用户不再看到活动时继续吗?即,如果用户接到电话,秒表应该停止还是继续?
-
秒表应该停止,当活动不可见时......如果它继续运行只是浪费资源......
-
如果你想在它用完时发出通知或通过通知显示它倒计时。
-
我也想要那个,但因此我使用的是android AlarmManager ...所以如果活动不可见,可以停止秒表(只是一个视觉反馈)......和一个线程对于警报来说不够安全......它可能会被杀死......服务将是一种替代方案,但我读到,考虑到资源,AlarmManager 更好......
标签: android save state restore