0

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

我启动并绑定我的服务。我的服务扩展IntentService 了,所以onStop()我只是打电话unbindService()

然后我进入设备的设置并打开运行选项卡-> 显示缓存的进程,我看到:

  1. 当触摸返回键时。在显示缓存的进程中,我的服务仍然存在。
  2. 当触摸主页键。在显示缓存的进程中,我的服务已经消失。

他们俩都打电话onstop()

那么有人能告诉我为什么会有这样的2个案例吗?Service或者这是对和的生命周期的误解Activity

4

1 回答 1

0

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

在这件事上引用谷歌的话:“它可能会缓存你最近在 RAM 中使用的进程,因此当你再次打开它们时它们会更快地重新启动,但如果它需要 RAM 进行新活动,它会清除缓存。” [1]

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

于 2012-08-12T21:54:53.490 回答