在我的活动中,我实施了onstop()
,onstart()
,onstart()
我启动并绑定我的服务。我的服务范围IntentService
所以onStop()
我只是致电unbindService()
。
然后我转到我的设备设置并打开运行标签 - >显示缓存的进程 我明白了:
他们都打电话给onstop()
。
所以有人可以告诉我为什么有这样的2个案例?或者这是对Service
和Activity
生命周期的误解。
答案 0 :(得分:0)
我不能告诉你为什么有这样的2个案例。但是,我可以告诉您,Android操作系统是否缓存服务并不依赖于您用来调用onStop()的按钮。缓存进程的决定由操作系统决定,具体取决于服务需要多少内存以及在其他几个因素中使用它的频率。
引用Google的话说:“它可能会缓存你最近在RAM中使用的进程,因此当你再次打开它们时它们会更快地重新启动,但如果它需要RAM用于新活动,它将擦除缓存“。 [1]
[1] - http://support.google.com/mobile/bin/answer.py?hl=en&answer=168921