作为一名刚接触 android 的开发人员,我想我可能误解了绑定服务。
我创建了一个服务来结束对服务器的访问。作为此服务的一部分,该服务正在侦听多播地址,以识别本地网络上的设备何时出现和消失。
但是,由于启动了多个服务实例,我遇到了问题。当活动关闭(使用后退按钮)然后不久重新打开时,就会发生这种情况。效果是服务无法绑定到本地端口,因此无法监听多播。
我原以为一旦活动停止绑定服务就会死掉,但事实并非如此。
我是否误解了绑定服务或者我做错了什么?
编辑
所以它接缝我的误解是,我假设程序将在最后一个非守护线程关闭后立即被清理,并且只要活动终止。
我已经通过显式取消侦听线程并关闭onDestroy()
.