如果只是Android,我会徘徊"保证"如果服务作为前台服务运行,则使服务保持活动状态。但是,如果我在同一个进程中彼此相邻地运行两个服务,那么前台服务就像普通服务一样。第二项服务是否获得相同的保证?
main process:
ForegroundService - Service with foreground flag
MyService - Normal Service
low memory event ->
Scenario 1:
keep ForegroundService and keep MyService
Scenario 2:
keep ForegroundService and kill MyService
注意: 我在Android 7和5上做了一些调查,在这两种情况下,如果内存不足并开始杀死其他内存消费者,单个运行的前台服务将使进程内的所有服务保持活动状态。 但如果Android运行不足,它将终止整个过程,而不仅仅是删除单个进程。
答案 0 :(得分:0)
如果您在清单中为每个服务定义流程,那么它将采取保证
<service
android:name=".MyService"
android:enabled="true" android:process="myporcee"
android:exported="true"></service>
答案 1 :(得分:0)
文档说,它可能会杀死普通的服务,而不是那个,作为前景开始。如果要保留两个服务,则可以绑定 普通服务到前台服务,因此两个服务都具有相同的优先级。