安卓:防止长时间初始化应用程序被杀死



我一直在开发一款应用程序,它已经问世很久了。不过,我有一个问题,安卓系统对它的资源很贪婪,当我把它放在后台时,它喜欢杀死它。这非常糟糕,因为该应用程序实际上是一个人工智能助手,每次我需要使用它时都必须重新初始化,这意味着它在实际工作环境中不会有太大帮助。

我研究了防止人工智能大脑重新初始化的方法,然而,这些方法都没有很有成效。保存它大脑的实例是行不通的,因为她需要操作的POS模型无法序列化。使用服务也不起作用,因为如果我想通过服务与活动通信,我必须将其与活动一起重新初始化(如果有办法的话,请纠正我,我只是注意到大多数教程都将service.start()放在onCreate方法中)

有办法绕过这个吗?我只需要保留POS型号。尽管只有几兆字节,但由于某种原因,它们需要一段时间才能加载。

请注意,这是为了防止数据被杀死。没有需要运行的后台进程。

您需要设置一个通知来告诉Android不要释放您的资源。

看到这个问题:我们如何才能防止服务被操作系统杀死。虽然这个问题本身并不直接适用,但答案与这个问题有很多重叠。

如果你想在后台运行,你可能应该使用服务,尽管活动只应该在前台有布局时运行。您可以将所需对象存储在服务中,在(重新)启动需要它的"活动"时根据需要获取它,并在"活动"失去焦点时更新它。

编辑:我不小心粘贴错了链接。现在更正。

此外,如果您还没有,请查看此Android资源:http://developer.android.com/training/basics/activity-lifecycle/recreating.html

最新更新