在我的应用中,我使用一个服务与服务器通信。该服务会生成多个消息队列线程来处理不同优先级的任务。
这种模型已经使用了一年左右,并且没有出现大问题。然而最近,我发现有时候我的服务类的 onCreate 方法会被调用多次。在两次 onCreate 调用之间,onDestroy 从未被调用过。因此,我无法杀死现有的线程。一旦出现这种行为,服务内部就会有重复的线程。
我唯一改变的是将服务作为前台服务运行,当用户登录应用程序时。我想知道前台服务是否导致了这个问题。
有任何想法吗?
这种模型已经使用了一年左右,并且没有出现大问题。然而最近,我发现有时候我的服务类的 onCreate 方法会被调用多次。在两次 onCreate 调用之间,onDestroy 从未被调用过。因此,我无法杀死现有的线程。一旦出现这种行为,服务内部就会有重复的线程。
我唯一改变的是将服务作为前台服务运行,当用户登录应用程序时。我想知道前台服务是否导致了这个问题。
有任何想法吗?
stopSelf()
服务后会自动调用onCreate()
,多次调用onCreate()
方法。 - Kishan Viramgama