来自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?
答案 0 :(得分:5)
当一个服务确实被系统杀死时,onStop()或onDestroy()会被调用吗?
onStop()
没有Service
可用。使用Service
可能会或可能不会调用onDestroy()
。
每次MyService重新创建时,count的值是否会重置为0?
是