2012-01-06 89 views

回答

2

该服务将消失,所以这可以解释你的观察。如果你能看到logcat,你会看到堆栈跟踪。或者尝试捕获异常并将一些日志写入catch块中的文件。

但是,如果服务不绑定到一个活动的Android可能,如果它需要的资源杀死服务。

以下是从这里http://developer.android.com/guide/topics/fundamentals/services.html

摘录“的Android系统将只当内存不足时强制停止服务,它必须恢复系统资源用于具有用户焦点的活动。如果服务绑定到具有用户焦点的活动,那么它不太可能被杀死,并且如果服务被声明为在前台运行(稍后讨论),那么它几乎不会被杀死。否则,如果服务已经启动并且是长期运行的,那么随着时间的推移,系统将降低其在后台任务列表中的位置,并且该服务将非常容易被破坏 - 如果您的服务已启动,那么您必须将其设计为适当地处理重启s由系统。如果系统杀死了您的服务,只要资源再次可用,它就会重新启动它(尽管这也取决于您从onStartCommand()返回的值,如稍后讨论的)。“