在Android Oreo中,为什么bound services仍然被允许,而(Started Services & IntentServices)却不被允许。
假设我有一个绑定服务,它绑定在我的活动的oncreate()方法中,并在我的活动的ondestroy()方法中解除绑定。现在,当一个用户来到这个活动并按下home button,因为这个绑定服务的无限时间,这个绑定服务将使用我认为开发人员希望从Oreo中删除的资源,所以如果他们也可以浪费内存资源,那么您不认为保留绑定服务背后的原因是什么吗?
发布于 2017-09-16 17:21:37
在Android中,为什么仍然允许绑定服务,而不允许绑定服务(Started services & IntentServices)。
所有这些服务都是允许的。但是,已启动的非前台服务只能运行1分钟.
现在,对于不确定的时间,这个绑定服务将使用资源。
Android会在一段时间后终止后台进程,与以前没有什么不同。纯绑定服务不会提高流程的重要性;只有已启动的服务才会提高流程的重要性。
但是,绑定服务的流程的重要性取决于服务本身的流程和任何绑定客户端的流程。这就是绑定服务不受Android8.0变化的直接影响的原因--服务的生命更多地受客户端而不是服务本身的控制。因此,在服务被核心OS进程(例如NotificationListenerService)绑定的情况下,系统有效地控制该服务需要在多长时间内运行。在您的情况下,由于客户端和服务在同一个应用程序和相同的进程中,您的进程可以在后台正常终止。
https://stackoverflow.com/questions/46256441
复制相似问题