故障排查 預計閱讀 12 分鐘

手機開啟 Clash 耗電異常怎麼排查:Android 背景策略與省電設定清單

找出行動裝置耗電主因:逐項檢查延遲測速頻率、規則複雜度、TUN 常駐與廠商背景限制,提供兼顧連線穩定與省電的實用設定清單。

Android 上的 Clash 客戶端通常透過系統 VPN 介面接管流量。狀態列出現鑰匙圖示後,應用程式需要持續處理連線、DNS 查詢與規則比對,因此電池紀錄長期顯示背景活動是正常現象。真正需要排查的是異常增幅:待機一小時下降超過 5%、機身持續發熱、夜間 8 小時掉電超過 15%,或應用程式在網路切換後反覆重新啟動。

耗電量不能只看系統電池清單中的應用程式占比。假設一段時間總共只消耗 4% 電量,Clash 占其中 30%,實際消耗約為 1.2 個百分點;若總耗電達到 25%,相同比例才值得優先處理。排查前先記錄總電量、螢幕使用時間、網路類型與測試時間,再逐項修改設定。

先判斷耗電來自客戶端還是網路環境

用三組測試拆解問題

最有效的方法不是立刻重新安裝,而是進行三組條件一致的對照測試。每組至少持續 45 至 60 分鐘,並保持螢幕亮度、網路與前景應用程式相同。

  1. 關閉 Clash:記錄系統基礎耗電,確認行動訊號、Wi-Fi 與其他應用程式本身是否異常。
  2. 開啟 Clash,但保持待機:不播放影片、不執行測速,只觀察 VPN 常駐後增加的耗電量。
  3. 開啟 Clash 並正常使用:瀏覽網頁、收發訊息或播放固定畫質的影片,觀察高流量情境。

例如,關閉 Clash 時每小時下降 1.5%,開啟後待機下降 2.2%,差值 0.7 個百分點通常可以接受。若開啟後達到每小時 6%,同時機身溫度由 30℃升至 38℃,就應檢查延遲測試、連線重試、日誌與 DNS。行動數據訊號只有一至兩格時,基頻會提高發射功率,此時即使關閉代理也可能明顯耗電。

查看 Android 電池紀錄

原生 Android 與 Pixel 可進入「設定」→「電池」→「電池用量」,點開客戶端查看前景與背景時間。部分系統按最近 24 小時計算,部分系統按上次充滿電後計算,比較資料時必須使用相同的統計週期。

  • 背景時間長,但每小時電量變化低:通常是 VPN 服務正常常駐。
  • 背景時間長,CPU 活動與溫度同時上升:優先檢查測速、日誌與重新連線。
  • Clash 占比不高,但「行動網路待機」很高:先處理訊號涵蓋問題。
  • 螢幕關閉後連線頻繁中斷:通常與廠商背景限制有關,不一定是核心持續高負載。

延遲測速頻率與代理群組檢查

客戶端的「自動測速」並不是一次性動作。URL-Test、Fallback 與 Load-Balance 群組可以按固定間隔存取測試網址,以判斷節點延遲或可用性。訂閱中有 80 個節點,三個代理群組都獨立檢查時,一輪可能產生上百次連線。間隔設定為 30 秒,就會在待機期間持續喚醒網路與 CPU。

將檢查間隔調整至實用範圍

日常行動使用情境可先設定為 600 秒,也就是 10 分鐘。網路變化不頻繁時可提高至 900 秒。需要快速故障切換的 Fallback 群組可保留 300 秒,但不建議讓所有代理群組都以 30 或 60 秒執行。手動點選「全部測速」也會集中建立連線,排查期間不要連續操作。

proxy-providers:
  mobile-nodes:
    type: http
    url: https://example.invalid/subscription
    interval: 86400
    health-check:
      enable: true
      url: https://www.gstatic.com/generate_204
      interval: 600
      lazy: true

interval: 86400控制訂閱提供器的更新週期,單位為秒;健康檢查中的interval: 600控制節點檢測週期。兩者用途不同。mihomo 支援的lazy: true可減少未使用提供器的主動檢查,但客戶端版本與設定格式必須支援此欄位。

減少重複的自動選擇群組

檢查設定中的多個 URL-Test 群組是否包含相同一批節點。若「自動選擇」、「串流媒體自動」與「下載自動」都涵蓋全部節點,每個群組都會維護自己的檢測狀態。行動裝置可以保留一個通用自動群組,特殊服務使用固定節點或較長的檢測間隔。將節點數量從 120 個縮減至常用的 15 至 30 個,也能降低每輪探測規模。

TUN 常駐與系統 VPN 開銷

Android 客戶端上的 TUN 通常建立在系統 VpnService 上。應用程式讀取虛擬網卡封包,再交由 mihomo 核心處理。相較於只為單一應用程式設定 HTTP 代理,TUN 會涵蓋更多應用程式與協定,因此背景服務需要持續存在。不過 Android 上多數 Clash 類客戶端本來就依賴 VPN 介面,介面中的「TUN」開關意義可能因客戶端實作而異,不能直接套用桌面端系統代理的概念。

先縮小需要接管的應用程式範圍

若客戶端提供「分應用程式代理」、「應用程式代理」或「存取控制」,可只選擇瀏覽器、聊天工具與需要代理的應用程式。銀行、地圖、相機同步、區域網路投放等明確直連的應用程式可以排除。這樣既能減少經過核心的連線,也能避免某些應用程式因偵測到 VPN 後反覆重試。

切換至白名單模式前,要確認系統元件是否依賴代理存取。應用程式商店、WebView 與下載管理員可能由獨立系統程序發起連線。修改後應測試網頁開啟、檔案下載、訊息推播與應用程式更新,不能只看瀏覽器是否能連線。

關閉不需要的持續功能

  • 區域網路分享:手機不作為其他裝置的代理伺服器時,關閉「允許區域網路連線」。
  • 外部控制器:不使用遠端面板時,將控制器限制在127.0.0.1:9090,不要監聽所有網路介面。
  • 流量面板重新整理:排查期間退出即時連線頁面。每秒重新整理連線與速率會增加前景 CPU 活動。
  • 詳細日誌:日常使用選擇 warning 或 error。debug 日誌適合短時間定位,不適合整天開啟。
  • 熱點分享:不使用手機熱點代理時,關閉相關轉發選項。
mixed-port: 7890
external-controller: 127.0.0.1:9090
log-level: warning
allow-lan: false

mixed-port: 7890只是本機 HTTP 與 SOCKS 混合連接埠,本身不會持續造成大量耗電。真正需要注意的是是否有其他應用程式不斷存取連接埠,以及控制面板是否持續擷取連線資料。

規則、DNS 與嗅探如何精簡

規則數量不等於按相同比例增加耗電。mihomo 會為規則建立索引,數萬條網域規則在穩定執行後未必造成明顯負載。更常見的問題是規則提供器頻繁更新、設定反覆重新載入、DNS 請求循環,或嗅探與應用程式本身的加密 DNS 互相影響。

規則提供器按小時或按天更新

廣告、串流媒體與地區規則通常不需要每分鐘更新。常用規則提供器可設定為 43200 秒或 86400 秒。更新時客戶端需要下載檔案、解析內容並替換規則,若多個提供器同時以短週期更新,待機期間會出現規律性的 CPU 峰值。

rule-providers:
  direct-list:
    type: http
    behavior: domain
    format: mrs
    interval: 86400
    path: ./ruleset/direct.mrs
    url: https://example.invalid/rules/direct.mrs

使用二進位規則格式可減少載入體積,但前提是規則來源與目前 mihomo 版本相容。若匯入後出現規則載入失敗,應恢復至客戶端支援的 YAML、text 或 mrs 格式,不能只修改檔案副檔名。

檢查 DNS 循環與重複解析

當客戶端 DNS 指向本機位址,而上游加密 DNS 又被錯誤地送回同一個本機連接埠時,可能形成查詢循環。典型表現是日誌連續出現 timeout、context deadline exceeded 或 exchange failed,手機待機時仍持續發熱。先使用客戶端預設 DNS 設定,再逐項加入自訂上游。

  • 一般 DNS 常用連接埠為 53,DoT 常用連接埠為 853,DoH 通常使用 443。
  • Bootstrap DNS 應能直接解析 DoH 伺服器網域,不能依賴尚未建立的代理鏈路。
  • 一個穩定上游加一個備用上游通常已足夠,不必同時設定十多個伺服器。
  • 修改 Fake-IP、Redir-Host 或嗅探設定後,先清除舊連線並重新啟動客戶端。

網域嗅探可協助核心識別部分連線對應的網域,讓網域規則生效。但對不依賴嗅探的設定,擴大連接埠範圍、涵蓋所有協定不一定有幫助。若日誌中反覆出現 sniff failed,可先恢復客戶端預設嗅探範圍,再觀察一小時的耗電與規則命中情況。

廠商背景策略避免反覆啟動

許多「Clash 一開就耗電」的情況,其實來自系統不斷終止 VPN 服務,客戶端隨後又被「永遠開啟的 VPN」或自動啟動策略重新啟動。每次完整重啟都會重新載入設定、規則與 DNS 快取。每十幾分鐘循環一次,比穩定常駐更耗電,也會造成訊息延遲與網頁偶發中斷。

原生 Android 與 Pixel

進入「設定」→「應用程式」→「查看所有應用程式」→選擇客戶端→「應用程式電池用量」,允許背景使用。若頁面提供「最佳化」與「不受限制」,連線頻繁中斷時可先選擇「不受限制」測試一天。此選項可能略微增加常駐時間,但能避免反覆終止與重新啟動。

小米 HyperOS

常見路徑為「設定」→「應用程式設定」→「應用程式管理」→選擇客戶端→「省電策略」→「無限制」。接著在應用程式詳細資料或權限管理中檢查「自動啟動」。最近任務介面的鎖定只能降低被清理的機率,不能取代背景策略設定。不同 HyperOS 版本的選單文字可能略有差異。

OPPO、OnePlus 與 realme

ColorOS 系列通常可在「設定」→「應用程式」→「應用程式管理」→選擇客戶端→「耗電管理」中允許背景活動。也應檢查「設定」→「電池」→「更多設定」中的睡眠待機最佳化。只有在夜間斷線時,才優先測試睡眠相關選項。

三星 One UI

進入「設定」→「電池」→「背景使用限制」,確認客戶端沒有位於「深度休眠應用程式」清單。需要長時間連線時,可加入「永不自動休眠的應用程式」。同時在「設定」→「連線」→「更多連線設定」→「VPN」中檢查目前的 VPN 設定。

系統 VPN 選項不要互相衝突

Android 的「永遠開啟的 VPN」適合要求代理持續工作的情境。「封鎖未使用 VPN 的連線」則更嚴格:VPN 重新啟動期間,所有網路都可能暫停。如果客戶端本身不穩定,同時開啟這兩個選項會讓斷線表現更明顯。排查階段可先關閉嚴格封鎖,只保留一般 VPN,確認連線穩定後再按需求恢復。

依序執行的省電設定清單

以下順序從風險低、效益明確的項目開始。每完成一項,至少觀察 60 分鐘;夜間耗電問題則需要完整測試 6 至 8 小時。

  1. 停止連續手動測速,將自動健康檢查改為 600 秒。
  2. 將訂閱更新週期改為 86400 秒,規則提供器改為 43200 或 86400 秒。
  3. 刪除重複的自動選擇群組,將常用節點控制在 15 至 30 個。
  4. 將日誌層級從 debug 調整為 warning,退出即時連線與流量面板。
  5. 關閉區域網路分享、熱點轉發與不使用的外部控制器監聽。
  6. 啟用分應用程式代理,只接管確實需要經過代理的應用程式。
  7. 恢復預設 DNS 進行測試,排除自訂 DoH、DoT 與 Fake-IP 設定問題。
  8. 在系統設定中允許客戶端於背景執行,避免 VPN 服務循環重新啟動。
  9. 分別使用 Wi-Fi 與行動數據測試,辨識弱訊號造成的基頻耗電。
  10. 最後再考慮更換客戶端版本或重新匯入精簡設定。

需要進一步取證時使用 ADB

熟悉 Android 偵錯工具時,可先重設電池統計資料,執行固定測試流程,再匯出結果。手機需要開啟開發人員選項與 USB 偵錯,指令在電腦端執行。

adb shell dumpsys batterystats --reset
adb shell dumpsys batterystats
adb shell dumpsys activity services

第一條指令會重設目前的電池統計資料,應在測試開始前執行。第二條用於查看喚醒、網路與程序活動,第三條可確認 VPN 服務是否反覆建立。重點比較同一客戶端在修改前後的喚醒次數與執行時間,不要直接比較不同手機型號的絕對數值。

仍然發熱或掉電時檢查這些異常

完成基礎最佳化後,如果待機一小時仍下降超過 5%,應查看日誌時間線。持續出現相同錯誤,通常比單純的應用程式占比更有助於定位問題。

  • 節點連線逾時:目前節點無法連線,客戶端或應用程式持續重試。切換至穩定節點,並將失敗節點移出自動群組。
  • 訂閱解析失敗:訂閱內容與客戶端格式不相容,背景更新每次都失敗。先暫停自動更新並檢查訂閱格式。
  • 規則檔案下載失敗:規則網址需要代理,但代理尚未建立,可能形成啟動階段的重複請求。
  • DNS 逾時:更換為可連線的上游,檢查私人 DNS、客戶端 DNS 與瀏覽器安全 DNS 是否重複接管。
  • VPN 服務重複啟動:關閉其他 VPN、加速器、防火牆或本機過濾應用程式。Android 同一時間通常只允許一個 VpnService 生效。
  • 設定頻繁重新載入:關閉檔案同步工具對設定目錄的持續改寫,避免客戶端偵測到變更後反覆載入。

更新客戶端前應匯出目前設定,並記錄可重現的條件。FlClash 等基於 mihomo 的客戶端會隨核心升級修正相容性問題,但新舊版本的 TUN、DNS 與規則行為可能存在差異。更新後先匯入一份基礎訂閱進行測試,不要立即疊加舊版中的全部實驗性參數。

合理的目標不是讓系統電池頁面完全看不到 Clash,而是讓背景執行保持低波動:螢幕關閉後機身不持續發熱,VPN 不循環重新啟動,一般待機每小時額外耗電控制在約 0.5 至 1.5 個百分點。實際結果還會受到電池健康度、5G 訊號、節點延遲與業務流量影響,應以同一支手機修改前後的對照為準。

Clash 最新版下載