有关Android服务生命周期的一些问题

时间:2016-06-27 20:12:15

标签: java android service

来自official doc

  

Android系统将仅在内存不足时强制停止服务,并且必须为具有用户焦点的活动恢复系统资源。如果服务绑定到具有用户焦点的活动,那么它不太可能被杀死

当某个服务确实被系统杀死时,是onStop()还是onDestroy()被调用?

请考虑以下代码段:

public class MyService extends Service {

    int count = 0;

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        count++;
        return START_STICKY;
    }

    ...
}

通过在START_STICKY中返回onStartCommand(),我认为MyService会因为内存不足而被系统杀死后重新创建。每次MyService重新创建时,count的值是否会重置为0?

1 个答案:

答案 0 :(得分:5)

  

当一个服务确实被系统杀死时,onStop()或onDestroy()会被调用吗?

onStop()没有Service可用。使用Service可能会或可能不会调用onDestroy()

  

每次MyService重新创建时,count的值是否会重置为0?