バッテリー使用状況でShadowrocketの割合が高くても、トンネル自体が常に高負荷とは限りません。集計期間、端末全体のバッテリー減少量、バックグラウンド通信を確認し、同じネットワーク・利用時間で常時接続とOn Demandを比較しましょう。待機中のバッテリー消費や長時間のバックグラウンド動作、ネットワーク切り替え後の再接続が気になる場合に、実際の通信、接続の再試行、起動条件を切り分ける方法を解説します。バッテリー画面の数値を下げることだけが目的ではありません。
バッテリー使用率を確認してから異常を判断する
iPhoneの「設定 → バッテリー」を開き、画面で選べる日付または時間の範囲を指定して、該当時間のアプリ別消費電力とアクティビティを確認します。統計の表示場所や方法はiOSのバージョンによって異なるため、現在の端末画面を基準にしてください。グラフの時間帯をタップしたら、下のリストも同じ範囲に切り替わっているか確認しましょう。1日分の消費電力と1時間のアクティビティを混同しないためです。
アプリの横に表示される割合は、選択した集計範囲における消費電力の内訳であり、そのアプリがバッテリー残量を何ポイント減らしたかを示すものではありません。たとえば、充電していない時間帯に端末全体の残量が80%から70%に減ったとしても、リストの30%を「このアプリがバッテリーを30ポイント減らした」と解釈することはできません。バッテリー残量や消費電力の内訳は精密な電力計ではないため、正確な消費電力の算出には使えません。
「バックグラウンドアクティビティ」は、アプリが前面に表示されていない間に関連処理が行われたことを示します。画面が消えている間、プロセッサーが常に最大負荷で動いているという意味ではありません。Shadowrocketはシステムのネットワーク拡張機能を使ってトンネル通信を処理します。Homeを表示していなくても、ほかのアプリのリクエストがトンネルを通ることがあります。同じ条件での端末全体のバッテリー減少量、発熱、接続の安定性も確認し、リストの順位だけで異常と判断しないでください。
常時接続の消費電力に関わる要素
「接続をオンにしておくこと」と「大量のデータを常に転送すること」は別です。トンネル確立後の負荷は、通信量、ルール処理、暗号化、接続維持、ネットワーク品質などによって変わります。動画、写真の同期、ファイル転送は処理量を増やします。電波が弱い環境では、再送や頻繁な再接続によって、モバイル通信とトンネル処理の両方の負荷が高まる場合があります。
HomeのGlobal Routingは、リクエストのルーティング方法を決めるもので、省電力モードではありません。Proxy、Direct、Config、Sceneを「消費電力が大きい順」に並べることはできません。Configでは設定したルールを確認し、Sceneの結果は設定内容によって異なります。最終的な消費電力は、実際の通信先やネットワーク環境にも左右されます。Directにしても、システムトンネルが停止するとは限りません。
- 大量の通信:まず、把握しているバックグラウンド同期やダウンロードを一時停止し、端末全体のバッテリー減少量を比較します。アプリを前面から閉じても、ほかのアプリからのリクエストは止まりません。
- 接続の維持:プロトコルや接続設定によっては、キープアライブが使われます。間隔は実際の設定によって異なるため、すべての接続に共通の間隔があるわけではありません。
- 不安定なネットワーク:発熱とリクエストのタイムアウトが同時に起きる場合は、まず電波状況、ネットワークの切り替わり、サーバーへの到達性を確認してください。自動化条件を追加するのはその後です。
On Demandを設定する前に、比較テストを行う
On Demandは、条件に応じてシステムがVPN接続を開始する仕組みで、「画面を消せば処理が止まる」というものではありません。条件がほとんどの時間に当てはまる場合、常時接続に近い動作になることがあります。条件が頻繁に変わると、トンネルの確立が繰り返される可能性もあります。接続が必要なネットワークを整理してから、Settings → On Demandで現在の設定を確認しましょう。
-
基準値を記録する
同じWi-Fiに接続して画面をロックした状態で60分間観察するなど、繰り返し実施できる時間帯を選びます。開始時と終了時のバッテリー残量、充電の有無、ネットワークの種類、把握しているバックグラウンド処理を記録してください。60分はテスト時間の例であり、製品の消費電力を示す数値ではありません。
-
現在の状態を確認する
Homeで接続状態とGlobal Routingを記録し、Configで使用中の設定を確認します。次にSettings → On Demandで起動条件を記録してください。テスト中にサーバー、ルール、接続方法を同時に変更しないでください。
-
起動条件を絞り込む
画面で選択できるネットワーク条件に沿ってOn Demandを設定します。Wi-Fiごとに条件を分ける場合は、SSIDを一字ずつ確認し、その条件が接続時と切断時のどちらに対応するかも確かめてください。同じ場所でも、周波数帯によってネットワーク名が異なることがあります。
-
ネットワーク切り替えを検証する
条件を管理できる環境で、対象のWi-Fiとモバイルネットワークそれぞれの接続状態を確認します。自動起動が有効な場合、手動で切断しても再接続することがあります。スイッチの不具合と決めつけず、まず該当する起動条件を確認してください。
-
再テストして記録を残す
同じ時間だけ観察し、端末全体のバッテリー減少量とネットワーク接続が想定どおりか記録します。必要な通信に影響しない時間帯に限って、切断状態をテストしてください。数回繰り返してから、どちらの接続方法を使うか判断しましょう。
日常の利用シーンに合わせて接続方法を選ぶ
どの端末にも当てはまる「最も省電力な設定」はありません。常時接続なら、使うたびにトンネルの確立を待つ手間が減ります。On Demandは、接続が必要な場面とネットワーク条件を明確に分けられる場合に適しています。利用が継続的か、ネットワークが安定しているか、起動条件に合わないことで必要な処理に影響が出るかを基準に選びましょう。
| 利用シーン | まず試す方法 | 確認するポイント |
|---|---|---|
| 安定した同じネットワークで連続して利用する | 常時接続 | バックグラウンドで通信が続いていないか、タイムアウトによる再試行がないか |
| 特定のネットワークでのみトンネルが必要 | On Demand | SSIDと接続時の動作が正しく対応しているか |
| 通勤中にネットワークが頻繁に切り替わる | 条件を簡素化してから比較する | 短時間に接続が繰り返し確立されていないか、モバイル回線の電波が安定しているか |
| 夜間に画面をロックしてもバックグラウンド処理が必要 | 処理が正常に行えるか確認してから判断する | バックグラウンド処理が完了するか、待機中のバッテリー減少を再現できるか |
テスト中は、利用中のサービスや契約がある場合、接続先を固定して、サーバー側の変化をOn Demandの効果と取り違えないようにしてください。プロトコル名だけで省電力かどうかを判断することもできません。Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuardの動作は、設定、通信環境、処理負荷によって異なります。これらの条件を無視して一律に順位付けすることはできません。
タイムアウトや頻繁な再接続が起きる場合は、まず再試行を確認する
バッテリーの減りが速くなり、リクエストの失敗も発生している場合は、接続方法を比較する前に接続の問題を解決してください。以下はネットワークログに表示される可能性のあるエラー原文です。実際の記録に該当する文言がある場合に限って原因を確認してください。すべてのバージョンで必ず表示されるメッセージではありません。また、エラーだけから消費電力を推定することはできません。
エラー: Operation timed out
原因:制限時間内に接続または処理が完了しなかった状態です。ネットワークに到達できない、パケットロスがある、サーバーから応答がないなどの可能性があります。
対処:まず現在のネットワークと利用中のサービスに接続できるか確認し、同じ接続で一度だけ再試行します。失敗が続く場合は繰り返しテストせず、利用中のサービス提供元に状況を確認してください。
エラー: Connection refused
原因:接続要求が拒否されています。接続先のポートでサービスが提供されていない場合や、アクセス制御によって拒否された場合に発生します。
対処:Homeで選択中の接続先アドレスとPortが、サービス提供元から案内された情報と一致しているか確認してください。慣例を理由にポートを一律で443へ変更しないでください。
ルールの問題も個別に確認してください。Configで現在の設定を開き、該当するルールが広範なルールより前にあるか、FINALで最終的にどのポリシーが選ばれるかを確認します。以下は直接接続テスト用ドメインのルール例で、完全な設定や一般的な省電力策ではありません。リスト上の割合を下げるために、すべてのリクエストをDIRECTに変更しないでください。
DOMAIN-SUFFIX,example.com,DIRECT
FINAL,PROXY
この2行は、example.comとそのサブドメインにDIRECTを指定し、それ以前のルールに一致しないリクエストをPROXYに送る設定です。実際に使う前に、設定内のポリシー定義を確認してください。DOMAIN-SUFFIX、GEOIP、IP-CIDRはそれぞれ異なる種類の対象情報を判定し、On Demandは接続を確立するタイミングを判定します。解決する問題はそれぞれ異なります。
バックグラウンド消費電力に関するよくある質問
バックグラウンドの動作時間が長い場合、ずっと電力を消費していますか?
バックグラウンドの動作時間が長くても、常に高い電力を消費しているとは限りません。「設定 → バッテリー」で同じ時間範囲を選び、端末全体のバッテリー減少量と画面の使用状況を確認してください。画面ロック中に同期やメッセージ接続があれば、トンネルが処理に関わることがあります。1回の時間表示ではなく、条件をそろえた比較結果で判断しましょう。
Shadowrocketをアプリスイッチャーから終了すると省電力になりますか?
前面に表示されているアプリを終了しても、システムVPNが切断されたとは限りません。Homeで接続状態を確認し、Settings → On Demandで自動再接続の条件がないか確認してください。切断状態をテストする場合は、起動条件によってすぐに再接続されないことも確認しましょう。
On Demandを有効にしたら、かえって電池の減りが速くなりました。どうすればよいですか?
まず、Wi-Fiとモバイルネットワークの切り替え中に集中して発生していないか確認し、Settings → On Demandで範囲が広すぎる条件や競合する条件がないかを調べます。条件は一度に1つだけ変更し、接続先とテスト時間をそろえてください。条件が常に成立している場合、On Demandにしても自動的に長い待機時間が生まれるわけではありません。
Global RoutingをDirectにすれば切断されますか?
いいえ。Directはリクエストのルーティング方法で、トンネルが確立されているかどうかは接続スイッチやOn Demandの設定に関係します。「接続」と「切断」の違いをテストするときは、実際のVPN状態を確認してください。Global Routingだけを変更してバッテリー表示を比較しても判断できません。
電池の減りを抑えるために、毎日サブスクリプションを更新する必要がありますか?
サブスクリプションの更新は、利用中のサービス提供元から案内された接続情報を同期するためのもので、バッテリーのメンテナンスではありません。アドレス、ポート、サービス情報が変更された場合に限り、更新によって接続失敗が間接的に解消されることがあります。まず失敗の原因を確認し、接続できないネットワークで更新を繰り返したり、複数の設定を同時に変更したりしないでください。
最終的に選ぶ方法は、必要な通信ができること、ネットワーク切り替えが想定どおりに動くこと、同じ利用条件での端末全体のバッテリー消費が許容範囲であることを満たす必要があります。2つの方法に大きな差がなければ、仕組みを理解しやすく、設定を確認しやすい方を選びましょう。後から同じ問題が起きた場合は、同じ方法で記録を取り、まず通信量とネットワークの変化を調べてからOn Demandを調整してください。