After doing some study, I summary few points as below, please let me know if i am wrong.
An activity start a service by "onStartCommand", In the service class. onStartCommand() {
return START_NOT_STICKY;
} So, with the START_NOT_STICKY, the service will run forever unless being killed by system memory low.
The activity associated withe the service will be get killed more easily, leaving the service alone.
Below is no so sure: I could add an icon in task bar and a notification block in notification page. I can add onchecklistener on them. And when the icon is clicked, I have to check if the activity is being killed by broadcasting, and restart the activity and update the view.