【发布时间】:2020-07-18 16:33:27
【问题描述】:
我正在React-Native 中开发一个Pomodoro Timer。
在前台:
用户界面通过减去到达日期减去当前日期来跟踪剩余时间。
此外,它还跟踪已完成的周期。
(Pomodoro 技术声明每 4 个周期有一个长时间的休息)。
cycles、finish_date 和 time_remaining 用作 state 变量(我确实使用 hooks)以便正确更新 DOM(以及一些逻辑)。
在后台:
设置了警报以在时间到时通知用户 (react-native-alarm-notification)。
如果应用程序一直处于前台,它的工作方式与应有的完全一样。但如果同时我确实使用其他应用程序,或者如果我只是将我的应用程序置于后台,大部分应用程序重置的时间,所以我失去了所有的进展。 我猜操作系统在大多数情况下会在应用程序处于后台模式时重置它。
所以它可能会在时间到时通知,但在 UI 部分,就像是第一次启动应用程序(但实际上,它只是从后台模式到前台)。 基本上它的状态会恢复到默认状态。
我正在努力寻找解决方案。
PS我做了一些测试,实际上 Android 在两种情况下会杀死应用程序:1 - 如果它在后台停留几分钟 2 - 如果有大量应用程序正在运行.我猜这两个问题都与内存有关,我尝试将电池性能设置为“未优化”,但没有帮助。
【问题讨论】:
标签: android react-native timer background reset