我一直在开发一个应用程序,而且它很长。我有一个问题,Android,贪婪的资源,喜欢杀死应用程序,当我把它放在后台。这非常糟糕,因为该应用程序实际上是一名AI助手,每次我需要重新初始化它都意味着它在实际工作环境中不会非常有用。
我研究了防止人工智能大脑重新初始化的方法,然而,这些方法都没有取得丰硕成果。保存大脑实例是行不通的,因为她需要操作的POS模型无法序列化。并且使用服务也不会工作,因为如果我想通过服务与活动进行通信,我必须将其与活动一起重新初始化(如果有解决方法,请纠正我,我只是注意到大多数教程都提供服务onCreate方法中的.start())
有解决方法吗?我只需要保留POS模型。尽管只有几兆字节,但由于某种原因,它们需要一段时间才能加载。
请注意,这是为了防止数据被杀死。没有需要运行的后台进程。
答案 0 :(得分:0)
您需要设置通知,告诉Android不要释放您的资源。
请参阅此问题:How can we prevent a Service from being killed by OS?。虽然问题本身并不直接适用,但答案与此问题有很多重叠。
如果你想在后台运行东西,你可能应该使用服务,因为当你在前台有布局时,应该只运行活动。您可以将所需对象存储在服务中,在(重新)启动需要它的Activity时根据需要获取它,并在Activity失去焦点时更新它。
编辑:我不小心粘贴了错误的链接。现在纠正了。另外,如果您还没有:http://developer.android.com/training/basics/activity-lifecycle/recreating.html
,请查看此Android资源