我有一个带有ContentProvider的应用程序,它根据来自自定义call() API的调用执行代码。有时候,这些执行会产生一些线程,这些线程可能需要很长时间才能完成,例如在GPRS上下载几百MB,所以我想确保我的进程在这段时间内不会被杀死。
据我所知,ContentProviders没有特殊的优先级,因此可能被任意杀死。然而,前台服务具有更高的优先级,因此我在想:仅仅在我的应用程序(相同的进程)中放入一个没有任何作用的虚拟前台服务,以防止它被杀死,就足够了吗?因为Android只能杀死整个进程,而不是ContentProvider单独生成的线程,对吗?
还是有更好的方法来实现我想要的?
ContentProvider API已经实现,似乎适合当前的任务,所以我不希望用某种服务接口重写所有东西。
发布于 2021-12-15 13:35:01
只需在我的应用程序(相同的进程)中添加一个没有任何功能的虚拟前台服务,以防止它被杀死,这就足够了吗?
很有可能是的。理想情况下,您所引发的Notification为用户提供了对该后台工作的某种控制,例如停止它。
,因为Android只能杀死整个进程,而不是仅仅由ContentProvider生成的线程,对吗?
对,是这样。
https://stackoverflow.com/questions/70363870
复制相似问题