Service.onDestroy()是在创build后直接调用的,无论如何,Service都能完成它的工作

我build立了一个服务,它没有按预期工作,所以我debugging它。 在debugging过程中,我看到服务的onDestroy()方法是从onCreate()返回后直接调用的。 当我注释掉在onDestroy()中发生的清理时,服务完成它的工作,但是这不应该是我的解决scheme。 所以我的问题是,为什么onDestroy()调用这么早,为什么服务仍然运行? 或者我怎样才能防止在错误的时间调用onDestroy()?

为了您的信息:我已经子类IntentService。

谢谢你的帮助。

Binabik

Solutions Collecting From Web of "Service.onDestroy()是在创build后直接调用的,无论如何,Service都能完成它的工作"

如果您inheritance了IntentService,则应该在您的服务的生命周期中使用onHandleIntent(Intent intent) 。 由于你的onHandleIntent里没有代码,你的服务可能会快速移动到onDestroy。 虽然没有你的代码,我不能肯定地说。

也可能会很快移动到onDestroy,因为IntentService是自动线程为您,可能只是启动工作线程调用onHandleIntent并移动到onDestroy。