我构建了一个服务,但它没有按预期工作,所以我调试了它。调试的时候看到服务的onDestroy()方法是在onCreate()返回后直接调用的。当我注释掉 onDestroy() 中发生的清理时,该服务开始工作,但这不应该是我的解决方案。所以我的问题是,为什么这么早调用 onDestroy() 以及为什么服务仍在运行?或者如何防止 onDestroy() 在错误的时间被调用?
供您引用:我已将 IntentService 子类化。
感谢您的帮助。
比比克
最佳答案
如果你继承 IntentService 你应该使用 onHandleIntent(Intent intent)在您的服务生命周期内。您的服务可能会很快转移到 onDestroy,因为您在 onHandleIntent 中没有代码。虽然没有你的代码我不能肯定地说。
它也可能会很快转移到 onDestroy,因为 IntentService 是自动线程化的,可能只是启动调用 onHandleIntent 的工作线程并转移到 onDestroy。
关于android - Service.onDestroy() 在创建后直接被调用,无论如何 Service 完成它的工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7570885/