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