在我的应用程序中,我使用服务与我们的服务器通信.该服务产生了几个消息队列线程来处理具有不同优先级的任务.
这个模型已经使用了大约一年没有大问题.不过最近,我发现有一段时间,我的服务类的onCreate被多次调用. onDestroy从不在两个onCreate调用之间调用.因此,我没有机会杀死现有线程.一旦发生这种情况,服务内部会有重复的线程.
我唯一改变的是运行服务,因为前台服务是用户在应用程序中登录的.我想知道前台服务是否导致问题.
有任何想法吗?
解决方法
当我的服务使用与活动相同的进程(默认)时,我遇到同样的问题.但是当我提供服务使用另一个进程时,没有更多的问题.我编辑了我的
AndroidManifest.xml,如下所示(添加android:进程属性)
<service android:name="kr.co.pkbio.binoo.CacheFileManagerService" android:process=":kr.co.pkbio.binoo.service"/> <service android:name="kr.co.pkbio.binoo.ActivityStackManagerService" android:process=":kr.co.pkbio.binoo.service"/>
参见http://developer.android.com/guide/topics/manifest/service-element.html获取信息.