问题
I know that some peoples view is that you should not create persistent services.
But for those of us that want to increase our knowledge, how does one go about creating one in theory?
I have been playing around, and noticed that services that use startForeground are killed in low memory situations.
I have seen a, now deprecated, permission PERSISTENT_ACTIVITY, but that didn't do much.
So what is the secret?
回答1:
You can only make your service persistent if you are developing system apps. These services will be basically un-killable, and are labeled as "PERS" in the output of the "adb shell dumpsys activity" command. It's not very well documented, so I did a quick write-up on Persistent services in Android...hopefully it will help some people out.
But for non-system apps, startForeground is your best option.
回答2:
There is absolutely no way of preventing the OS from killing your service.
来源:https://stackoverflow.com/questions/4708827/persistent-service