平台使用 預計閱讀 11 分鐘

Clash Android 背景連線中斷:VpnService 授權與電池最佳化白名單設定

整理 Android 的 VpnService 授權提示、常駐通知、電池最佳化白名單及各品牌背景管理設定,協助排除鎖定螢幕後連線自動中斷。

先釐清是背景程序遭終止、VPN 被取代,還是連線節點失效

Clash 螢幕亮起時運作正常,鎖定螢幕一段時間後卻無法連線,請優先確認VPN 服務是否仍在執行,別一開始就重新匯入訂閱或修改 DNS。Android 用戶端通常透過系統的 VpnService 接收裝置流量,再交由代理核心處理;介面退出、服務停止和節點失效是三種不同狀況,處理方式也不一樣。

重新開啟用戶端後,先別馬上點選啟動。記下畫面顯示「已連線」還是「已停止」,再查看系統「設定」→「網路和網際網路」→「VPN」中的連線狀態。不同系統可能將入口放在「連線與共用」或「更多連線」中,也可以直接在系統設定搜尋「VPN」。狀態列的鑰匙圖示可作為參考,但部分系統會隱藏圖示,不能只靠圖示判斷。

觀察到的現象優先懷疑原因接下來的處理方式
用戶端顯示已停止,系統 VPN 也已中斷背景限制、手動停止或程序當機檢查電池策略及中斷前的記錄
另一個應用程式顯示 VPN 已連線同一使用者空間中的 VPN 連線遭取代停止另一個 VPN 應用程式,再啟動 Clash
VPN 仍連線,但代理網站無法開啟節點、DNS 解析或分流設定問題螢幕亮起後測試同一節點,並檢查連線記錄
切換 Wi-Fi 與行動數據後才中斷連線切換網路後連線未能恢復分別在兩種網路環境重新連線測試
VPN 已停止,所有應用程式仍無法連線系統已啟用「未連線 VPN 時封鎖網路」先重新連上 VPN,或暫時關閉封鎖選項

只要連線仍在,就不能直接判定是「背景程序遭終止」。反過來說,重新開啟應用程式後自動恢復,也不代表之前一直正常:部分用戶端在回到前景時會重新啟動服務,讓真正的中斷時間不易察覺。

VpnService 授權:確認系統連線要求與 VPN 衝突

首次啟動需要取得系統 VPN 授權

第一次點選用戶端的啟動或連線開關時,Android 通常會跳出「連線要求」之類的系統對話框,提示應用程式準備設定 VPN 連線。確認應用程式名稱無誤後,選擇允許;若選擇取消,即使用戶端已載入節點,也無法透過這條系統 VPN 通道接收其他應用程式的流量。

  1. 匯入設定並選好可用節點,讓用戶端保持在前景。
  2. 點選啟動,閱讀系統提示並確認授權。
  3. 前往系統 VPN 頁面,確認連線屬於目前使用的用戶端。
  4. 先用瀏覽器測試,再鎖定螢幕觀察;首次授權尚未完成前,先別測試背景連線是否維持。

授權提示不會每次都出現。若已完成授權,且沒有被其他 VPN 取代,沒有再次跳出提示通常是正常的。如果按鈕沒有反應,先確認提示是否被懸浮視窗遮住;部分系統會限制受遮擋的安全確認操作,可暫時關閉螢幕濾鏡或懸浮球後再試。

廣告過濾器和加速器也可能占用 VPN 通道

在同一個 Android 使用者或工作設定檔中,通常只能有一個作用中的 VpnService 連線。另一個代理用戶端、使用本機 VPN 的過濾應用程式或遊戲加速器啟動後,原有連線可能會被撤銷。遇到「剛連上又斷線」時,先逐一停止這些應用程式,不要反覆替 Clash 授權。

常駐通知與電池最佳化需要分開設定

允許通知、允許背景活動、允許背景數據是不同的設定。通知用來顯示連線狀態和前景服務資訊;電池策略決定應用程式在背景執行時受到哪些限制;背景數據則控制部分網路存取。只開啟其中一項,不能取代其他設定。

Android 13 及更新版本,先確認通知權限

前往「設定」→「應用程式」→「查看所有應用程式」→目前使用的用戶端→「通知」,即可開啟通知權限,並確認連線狀態所屬的通知類別。部分品牌系統也可長按應用程式圖示→「應用程式資訊」→「通知管理」。若不想被通知聲音打擾,可在系統提供的選項中將該類別設為靜音,不必直接關閉整個應用程式的通知。

有個常見誤解需要釐清:Android 13 及更新版本即使拒絕通知權限,也不代表系統一定會禁止啟動前景服務;相關執行資訊仍可能出現在系統的作用中應用程式管理介面。因此,「沒有通知」不能單獨證明服務已遭終止,但開啟連線狀態通知會讓排查更容易。若在系統的作用中應用程式介面手動停止應用程式,則可能直接結束服務。

將用戶端設為不受限制,或允許在背景執行

接近原生 Android 的常見路徑是「設定」→「應用程式」→目前使用的用戶端→「應用程式電池用量」→「不受限制」。其他版本可能使用「電池」→「電池最佳化」→「所有應用程式」→目前使用的用戶端→「不最佳化」。選單名稱會隨系統版本而變,重點是解除這個用戶端的背景限制,而不是關閉全機的省電功能。

  • 先單獨允許用戶端在背景執行:修改設定後,停止並重新啟動連線,再鎖定螢幕確認。
  • 檢查全域省電模式:測試時暫時關閉省電或超級省電模式,避免其覆蓋應用程式層級的設定。
  • 檢查背景流量:在應用程式資訊中的「行動數據和 Wi-Fi」或「數據用量」確認允許背景數據;若已啟用數據節省模式,也要檢查「不受限制的數據使用」。
  • 不要任意強制停止:使用系統的「強制停止」會結束應用程式元件;即使已允許開機自動啟動或加入省電白名單,也不保證會立即恢復,通常需要手動重新開啟。

加入白名單可以減少系統限制,但不能保證應用程式永不退出。記憶體不足、用戶端當機、系統更新及品牌廠商的額外策略,仍可能中斷服務。長時間在背景執行也會增加耗電,請只對確實需要背景執行的應用程式放寬限制。

小米、華為、OPPO、vivo、三星的背景設定入口

以下列出的是常見入口,並非所有機型都使用相同選單。HyperOS、EMUI、HarmonyOS 的不同相容環境、ColorOS、OriginOS 和 One UI 都可能變更選單名稱。若找不到路徑,可在系統設定搜尋「自動啟動」、「電池最佳化」、「背景」或「休眠應用程式」,並確認目前系統支援所安裝的 Android 用戶端。

小米與 Redmi:同時檢查自動啟動和省電策略

  • 長按用戶端圖示→「應用程式資訊」→「省電策略」,選擇「無限制」或名稱相近的選項。
  • 在「設定」→「應用程式設定」→「應用程式管理」中的應用程式詳細資訊,或「安全中心」→「應用程式管理」→「權限」→「自動啟動管理」中,找到用戶端並允許自動啟動。
  • 如果最近使用的應用程式畫面提供鎖定功能,可長按應用程式卡片並選擇鎖頭圖示,降低被「一鍵清理」移除的機率。

鎖定最近使用的應用程式卡片只是輔助措施,不能取代電池策略。測試時別把「卡片已鎖定」當成背景權限已完整設定。

華為與榮耀:檢查應用程式啟動管理

常見入口是「設定」→「應用程式和服務」→「應用程式啟動管理」,也可能位於「手機管家」→「應用程式啟動管理」。找到用戶端後,關閉該應用程式的自動管理,並依系統提供的選項允許「自動啟動」、「關聯啟動」和「背景活動」。部分榮耀機型使用相近名稱,請以目前的系統頁面為準。

此外,可在設定中搜尋「電池最佳化」,切換至所有應用程式後,確認用戶端是否允許忽略最佳化。不要混淆「允許背景活動」和「允許通知」;前者會影響執行策略,後者主要影響通知顯示。

OPPO、一加與 realme:查看耗電管理

常見路徑是「設定」→「電池」→「更多設定」→「應用程式耗電管理」→目前使用的用戶端,並允許背景活動;部分版本可直接從應用程式資訊頁前往「耗電管理」。接著前往「應用程式」→「自動啟動」或系統提供的自動啟動管理入口,確認該應用程式未遭禁止啟動。選單名稱可能是「允許背景行為」或「允許完全背景行為」等。

vivo 與 iQOO:檢查背景高耗電管理和自動啟動

前往「設定」→「電池」→「背景耗電管理」,找到用戶端後選擇允許背景高耗電或相應的放行選項;舊版系統的入口可能位於 i 管家。自動啟動通常可在「設定」→「應用程式與權限」→「權限管理」→「自動啟動」中設定。若系統跳出背景耗電處理提示,未確認前不要選擇限制該用戶端。

三星:從休眠清單中移除

One UI 常見入口為「設定」→「電池與裝置維護」→「電池」→「背景使用限制」;較新版本可能可直接從「設定」→「電池」進入。將用戶端從「休眠應用程式」和「深度休眠應用程式」中移除;若清單中有「永不自動休眠的應用程式」,可將用戶端加入。接著檢查「應用程式」→目前使用的用戶端→「電池」是否能選擇「不受限制」。

謹慎啟用「一律開啟 VPN」與網路封鎖

系統 VPN 詳細資訊中可能會有「一律開啟 VPN」和「封鎖未使用 VPN 的連線」選項;部分系統將後者稱為「未連線 VPN 時封鎖網路」。前者會讓系統嘗試維持受支援的 VPN;後者則會在 VPN 無法使用時,阻止流量直接連線。兩者用途不同,網路封鎖不是維持背景執行的開關。

  1. 先完成授權和電池設定,確認一般連線可穩定運作。
  2. 如果用戶端支援,可視需求啟用「一律開啟 VPN」。若沒有此選項或選項無法使用,不要照搬其他應用程式的操作方式。
  3. 確實需要避免流量繞過 VPN 時,再啟用連線封鎖,並測試 VPN 中斷後的情況。

開機自動連線也要分清應用程式的「開機啟動」選項和系統的「一律開啟 VPN」。重新啟動後、首次解鎖前能否恢復,取決於用戶端的實作和設定儲存方式,不能只看自動啟動開關就認定能完整恢復。

分別測試螢幕亮起、鎖定螢幕及切換網路,確認問題已排除

不要一次更換節點、DNS 和所有電池選項,否則即使恢復正常,也無從判斷原因。以下是可重複使用的觀察流程;測試時間僅供參考,並非任何特定裝置的實測結果,短時間測試通過也不保證整晚穩定。

測試階段操作方式與時間需要記錄的資訊
螢幕亮起時的基準測試使用同一節點持續測試 5 分鐘用戶端狀態、系統 VPN 狀態,以及目標網站能否開啟
鎖定螢幕觀察不充電靜置 15 分鐘,再延長至 30 分鐘解鎖後是否已停止、是否有通知、是否自動重新啟動
切換網路分別測試從 Wi-Fi 切換至行動數據,以及從行動數據切換至 Wi-Fi是否只在切換後中斷連線,以及手動重新連線能否恢復
較長時間待機完成短時間測試後,觀察 2 小時或待機一晚中斷時間、電量變化及系統省電提示

靜置 15 分鐘不一定會進入系統的深度閒置狀態。Android 的閒置策略會受到是否充電、是否移動及品牌廠商實作方式影響,因此仍應安排一次不充電的長時間待機測試。如果只有公司 Wi-Fi 發生問題,也要檢查網路是否需要重新驗證;如果只有行動數據有問題,先確認用戶端的行動數據權限和資費方案狀態。

VPN 仍在線時,接著排查節點與 DNS 解析

如果系統顯示 VPN 一直保持連線,請先使用用戶端內建的連線測試檢查目前節點,再查看記錄中是否有逾時或 DNS 解析錯誤。延遲測試成功只表示該測試要求收到回應,不代表所有目標網站都能使用。若只有特定應用程式無法連線,也要確認用戶端的分應用程式代理清單:該應用程式可能被排除在 VPN 之外,也可能因規則而分配至不同的策略群組。

不要為了解決背景退出問題就隨手修改 mixed-port: 7890。這個設定控制混合代理監聽連接埠,與 Android 的電池限制沒有直接關係。更新訂閱可取得設定內容,但不會替應用程式申請背景執行權限。欄位說明請參閱YAML 手冊;基本匯入和啟動流程可參考使用指南。

問題仍然存在:記錄版本、時間和當機線索

完成設定後仍反覆退出,需判斷是系統結束程序,還是應用程式本身當機。請記錄手機型號、Android 版本、完整系統版本號、用戶端版本和核心版本,以及「約 22:10 鎖定螢幕,22:35 解鎖後發現已停止」這類時間線。不同 Clash Android 用戶端並非同一個版本的應用程式,回報時只寫「最新版」無法協助判斷相容性問題。

  • 先查看應用程式記錄:在用戶端提供的「記錄」或「診斷」入口,檢查停止前後的資訊。程序若突然消失,應用程式記錄中也可能沒有最後的退出原因。
  • 留意系統提示:截圖保存「已限制背景活動」、「應用程式持續停止」等提示,比只提供一張連線失敗的截圖更有幫助。
  • 比對更新時間:若問題是在用戶端或系統更新後出現,請先備份設定,再前往下載中心確認目前維護中的版本及系統需求。

熟悉 ADB 的使用者可另外查看系統記錄

如果已設定 Android 平台工具並完成 USB 偵錯授權,可在電腦執行以下指令;重現一次連線中斷後,按 Ctrl+C 停止記錄。指令只會儲存系統允許讀取的記錄,實際可查看的內容會因裝置及系統版本而異。

adb devices
adb logcat -v time > android-vpn-log.txt

請檢查故障時間附近是否有程序退出、當機、VPN 撤銷或前景服務異常等資訊;不要只根據一筆含有「killed」的記錄,就認定是省電策略造成。連接 USB 可能會讓裝置處於充電狀態,進而改變待機條件;因此 ADB 只能作為輔助證據,不能取代實際鎖定螢幕測試。完成後請關閉不再需要的 USB 偵錯。

最後依序完成排查:先確認系統 VPN 授權及通道占用,再允許背景執行並放行背景數據,接著測試鎖定螢幕和切換網路,最後依據記錄處理當機或線路問題。這樣能區分「服務已停止」和「服務仍在執行但網路不通」,避免反覆重新安裝,卻始終沒找出真正的限制原因。

下載最新版 Clash