From 50d25d0b1d23f5c33b7cb32ae60e60e5327f5e9d Mon Sep 17 00:00:00 2001
From: 18034727885 <973609879@qq.com>
Date: 星期六, 13 六月 2026 17:58:47 +0800
Subject: [PATCH] 修复问题
---
rxnetty/src/main/java/cn/sinata/rxnetty/CoreService.java | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/rxnetty/src/main/java/cn/sinata/rxnetty/CoreService.java b/rxnetty/src/main/java/cn/sinata/rxnetty/CoreService.java
index b1b70df..93f3225 100644
--- a/rxnetty/src/main/java/cn/sinata/rxnetty/CoreService.java
+++ b/rxnetty/src/main/java/cn/sinata/rxnetty/CoreService.java
@@ -128,6 +128,11 @@
init();
NetStateReceiver.registerNetworkStateReceiver(this);
+ // 服务重复启动时先移除旧观察者,避免重复重连回调 由AI生成
+ if (mNetChangeObserver != null) {
+ // 从网络监听器移除旧观察者实例 由AI生成
+ NetStateReceiver.removeRegisterObserver(mNetChangeObserver);
+ }
mNetChangeObserver = new NetChangeObserver() {
@Override
public void onNetConnected(NetUtils.NetType type) {
@@ -179,6 +184,8 @@
public void onDestroy() {
super.onDestroy();
isDestroy = true;
+ // 服务销毁时移除网络观察者,避免静态列表持有 Service 引用 由AI生成
+ NetStateReceiver.removeRegisterObserver(mNetChangeObserver);
NetStateReceiver.unRegisterNetworkStateReceiver(this);
if (subscriber != null && !subscriber.isUnsubscribed()) {
subscriber.unsubscribe();
@@ -346,4 +353,4 @@
}
return null;
}
-}
\ No newline at end of file
+}
--
Gitblit v1.7.1