Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Persistent service

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?

like image 778
ekawas Avatar asked Jan 16 '11 23:01

ekawas


People also ask

What is a persistent service?

The Persistence service consists of service specific parts and parts necessary for fulfilling the functionality. The latter parts can be implemented once whereas the service specific parts are generated out of an abstract description of a service using the Persistence service.

What does persistent system do?

Persistent Systems Limited is a global company specializing in software products services and technology innovation. The company offers complete product life cycle services.

Is persistent a service based company?

Persistent Systems is an Indian multinational technology services company which was incorporated on 16 May 1990 as Persistent Systems Private Limited.


1 Answers

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.

like image 158
Andrew Avatar answered Nov 15 '22 22:11

Andrew