服务生命周期

时间:2012-08-12 07:39:15

标签: android

在我的活动中,我实施了onstop()onstart()onstart()

我启动并绑定我的服务。我的服务范围IntentService 所以onStop()我只是致电unbindService()

然后我转到我的设备设置并打开运行标签 - >显示缓存的进程 我明白了:

  1. 触摸后退键。在show cached进程中,我的服务仍然存在。
  2. 当触摸主页键时。在show cached进程中,我的服务已经消失了。
  3. 他们都打电话给onstop()

    所以有人可以告诉我为什么有这样的2个案例?或者这是对ServiceActivity生命周期的误解。

1 个答案:

答案 0 :(得分:0)

我不能告诉你为什么有这样的2个案例。但是,我可以告诉您,Android操作系统是否缓存服务并不依赖于您用来调用onStop()的按钮。缓存进程的决定由操作系统决定,具体取决于服务需要多少内存以及在其他几个因素中使用它的频率。

引用Google的话说:“它可能会缓存你最近在RAM中使用的进程,因此当你再次打开它们时它们会更快地重新启动,但如果它需要RAM用于新活动,它将擦除缓存“。 [1]

[1] - http://support.google.com/mobile/bin/answer.py?hl=en&answer=168921