在Android上的任务管理器中杀死应用程序时代码停止运行的位置

如果用户正在运行我的应用程序并决定通过任务管理器终止它,是否有任何有关在进程死亡之前将执行多少代码的保证?

我觉得它可以停止在任何任意线路上运行,但是我想我并不真的知道这个答案。

一个示例用例是停止并重新启动后台警报。 如果我想取消闹钟,做一些工作,然后重置闹钟,我觉得应用可能会在“取消闹钟”步骤之后但在“重置闹钟”步骤之前停止运行。 这会让我处于一种我不想进入的状态,因为我总是希望我的闹钟能够在未来消失。 (请记住,这仅仅是一个例子,我没有在寻找解决这个问题的方法)。

有什么我可以做的,以确保代码我的Java代码作为一个'交易'运行类似于一个数据库事务,以便它或者全部运行或没有它运行?


如果用户正在运行我的应用程序并决定通过任务管理器终止它,是否有任何有关在进程死亡之前将执行多少代码的保证?

不是真的。 如果用户在设置中选择使用强制停止,则会立即终止您的流程,并带有极端偏见。 在其他情况下,您的流程终止,Android通常会摧毁未完成的活动和服务,但这并不能保证,特别是如果Android急于释放系统RAM(例如处理传入的电话)。 从总览屏幕中删除任务在这里并不真正与众不同。

有什么我可以做的,以确保代码我的Java代码作为一个'交易'运行类似于一个数据库事务,以便它或者全部运行或没有它运行?

没有。

链接地址: http://www.djcxy.com/p/30493.html

上一篇: Where will code stop running when app is killed from task manager on Android

下一篇: Please login to this app again to reconnect with Facebook