如果用户正在运行我的应用程序并决定通过任务管理器终止它,是否可以保证在进程结束之前将执行多少代码?
我觉得它可以停止运行在任何任意行,但我想我真的不知道答案。
一个示例用例用于停止和重新启动后台警报。如果我想取消警报,做一些工作,然后重置警报,我觉得应用程序有可能在“取消警报”步骤之后,但在“重置警报”步骤之前停止运行。这会让我处于一种我不想处于的状态,因为我总是希望我的闹钟在未来会响。(请记住,这只是一个例子,我不想为这个特定的案例寻找解决方法)。
我能做些什么来确保我的Java代码作为一个类似于DB事务的“事务”运行,以使它运行或不运行?
最佳答案:
如果用户正在运行我的应用程序并决定通过任务管理器终止它,是否可以保证在进程结束之前将执行多少代码?
不是真的。如果用户选择在“设置”中使用“强制停止”,则您的进程将立即以极端偏见终止。在你的进程被终止的其他情况下,android通常会破坏未完成的活动和服务,但这也不能保证,特别是如果android急于释放系统ram(例如,处理来电)。从概览屏幕中删除任务在这里并不是很明显。
我能做些什么来确保我的Java代码作为一个类似于DB事务的“事务”运行,以使它运行或不运行?
不。