未调用我的android服务onDestroy方法。可能是因为内存不足吗?

未调用我的android服务onDestroy方法。可能是因为内存不足吗?,android,service,ondestroy,Android,Service,Ondestroy,我有一个充满活力的星系。我刚才在上面安装了ICS rom。我注意到我以前在2.2上使用的一个视频捕获程序现在在我捕获视频时突然退出,没有通知。然后我进一步了解到ICS使用了大量内存 我现在正在开发一个通过服务意图创建对象数组的应用程序。该服务是一个粘性服务。所以,据我所知,它能坚持多久就坚持多久。在onDestroy方法中,我将对象数组序列化为一个文件,以便在服务再次启动时加载数组(如果文件存在)。所以我测试了我的应用程序,一切正常,然后我退出了活动(intent应该仍然在后台运行)。然后我运行

我有一个充满活力的星系。我刚才在上面安装了ICS rom。我注意到我以前在2.2上使用的一个视频捕获程序现在在我捕获视频时突然退出,没有通知。然后我进一步了解到ICS使用了大量内存

我现在正在开发一个通过服务意图创建对象数组的应用程序。该服务是一个粘性服务。所以,据我所知,它能坚持多久就坚持多久。在onDestroy方法中,我将对象数组序列化为一个文件,以便在服务再次启动时加载数组(如果文件存在)。所以我测试了我的应用程序,一切正常,然后我退出了活动(intent应该仍然在后台运行)。然后我运行ICS internet浏览器,我的应用程序会强制关闭


是否有可能我的系统终止了我的服务,并且从未调用ondestroy?

当您的程序即将关闭时,您应该调用Activity.finish(),它将调用ondestroy()


当Android系统完成应用程序时,onDestroy并不总是被调用。

与活动一样,onDestroy方法在服务即将启动时被调用 结束。当没有更多的客户端启动时,Android将终止服务 或是受它的约束。与活动一样,Android也可能在以下情况下终止服务: 记忆力越来越差。如果出现这种情况,Android将尝试重新启动服务 当内存压力过去时,如果您的服务需要存储持久信息 要重新启动,最好使用onStart方法。

Could it be because of low ram?
正如我前面提到的,是的


Source
OReilly.Android.Application.Development
使用服务的方法
onLowMemory()

谢谢,但我的问题是关于服务,而不是活动。如果您对此有任何疑问,请使用此onLowMemory方法检查您的应用程序是否因内存不足而被系统终止。