服务onDestroy()中的executor.shutdown()

时间:2015-06-02 09:08:31

标签: android service threadpoolexecutor

我希望我的执行程序能够运行,直到我的服务不再运行。

我想到的逻辑解决方案是对executor.shutdown()

服务进行onDestroy()

该行动的后果是什么?

我知道当我杀死某个应用时,它的服务并不能保证通过onDestroy(),因此执行者永远不会执行shutdown()

如果该服务是前台服务,它会解决该问题吗? 无论如何,这是正确的工作方式吗?

我试图做什么的一般信息 - 我打算访问我的服务上的一个方法,它将更改/添加任务到执行程序。我需要它作为" listener"直到我不再使用该服务,这就是为什么我不能在任何其他地方关闭它而不是onDestroy()

1 个答案:

答案 0 :(得分:0)

后果取决于您在执行程序中执行的任务。如果任务未通知关闭,则它们将继续作为关闭运行,仅确保不能提交任何新任务。 您作为守护进程创建执行程序的can do is是什么。 或者您可以按照orderly shutdown

的建议操作

需要注意的重要一点是,您的任务不应该使您的数据处于损坏状态,因为它们可以随时关闭。如果要更新数据库,请使用事务;如果要写入文件或套接字,请使用适当的预防措施。