从我的小机器人知识,我明白,Android操作系统能在极端的内存条件下杀死我的服务。
我创建了返回服务START_STICKY
。 该服务是为了在后台运行。
如果Android是要杀死我的服务,它会调用onDestroy
?
而在重新启动时它会调用它onCreate
?
从我的小机器人知识,我明白,Android操作系统能在极端的内存条件下杀死我的服务。
我创建了返回服务START_STICKY
。 该服务是为了在后台运行。
如果Android是要杀死我的服务,它会调用onDestroy
?
而在重新启动时它会调用它onCreate
?
看到这里,开发者指南。 http://developer.android.com/reference/android/app/Service.html#ProcessLifecycle
onCreate()
当过程开始时,它可以在第一时间服务正在运行,或者如果它是在重新启动被杀,基本上只要启动这个被称为只叫。
onStartCommand()
每当客户端调用被称为startService()
当服务被破坏/完全停止,Android是应该调用onDestroy()
上的服务。 我认为这是可能的,为了不发生(例如,过程不是通过Android系统杀死)。 在一个绑定的服务的情况下,这是当没有更多活跃的客户端粘合剂。
编辑: onCreate()
服务启动; onStartCommand()
有人使用服务; onDestroy()
服务被杀害/停止。
如果有人致电Context.startService(),则系统将检索服务(创建它,如果需要调用它的onCreate()方法),然后调用其onStartCommand(意向,INT,INT)方法与客户端提供的参数
...
服务可以同时起步,并没有绑定到它的连接。 在这种情况下,系统将保留该服务,只要它要么启动或有一个或多个连接到它与Context.BIND_AUTO_CREATE标志运行。 一旦没有这些情况下持有,该服务的的onDestroy()方法被调用,服务也有效地终止。 所有清理(停止线程,注销接收器)应该是完整的从后返回的onDestroy()。
http://developer.android.com/reference/android/app/Service.html
编辑:快速的答案。 有两个问题