我已经在Android服务上阅读了很多内容。据我了解,生命周期是:
void onCreate()
void onStart(Intent intent)
...
void onDestroy()
http://www.linuxtopia.org/online_books/android/devguide/guide/topics/fundamentals.html
但是没有onStop方法。 问题:
对于上下文,我有一些资源我想在服务运行时分配和发布(在#34;已启动"),以及另一组我想要的资源在服务是"创建"时分配和释放州。
答案 0 :(得分:53)
据我了解,生命周期是:
onStart()
已被弃用了几年。 onStartCommand()
是当前的生命周期方法。
为什么没有停止方法?
因为不需要一个。
在我的服务上发出stopService请求时会发生什么?
您将使用onDestroy()
来致电。
我可以检测到此事件吗?
您可以覆盖onDestroy()
。
我想强制(或至少验证)我的服务是流程中的单身人士。我该怎么做(或Android是否在幕后强制执行此操作)?
服务是天生的单身人士。在任何给定时间,您的服务将有0或1个实例。
对于上下文,我有一些资源,我想在服务运行时分配和释放(在“已启动”中),以及我希望分配和释放的另一组资源,而服务是“创造了“州。
“已创建”状态既用于命令模式(startService()
和onStartCommand()
),也用于绑定模式(bindService()
和onBind()
)。因此,如果您致电startService()
,您的服务将完全处于“已创建”状态,希望不到一毫秒。