我最近遇到过一个问题,我的Service
方法会多次调用onCreate()
。发生这种情况时,不会调用onDestroy
。我的Service
只是在没有通知的情况下重新创建,我的Service
状态被重置为好像它第一次启动一样。我知道Android会杀死释放内存所需的进程。但是,当发生这种情况时,仍会遵循生命周期,并且保存/恢复状态是微不足道的。这只是在执行过程中发生的。
究竟是什么导致了这个?从this answer开始,它表示onCreate仅在进程启动时被调用,这就是我得出这个结论的方式。 This answer表示将服务放在与应用程序其余部分分开的进程中,但这不起作用。它看起来也很糟糕。
这是在Android 4.0.4上发生的。