If Shadowrocket seems to use too much battery in the background, first check the reporting period in iOS Battery settings, then review the automatic connection conditions in Settings → On Demand. This guide compares persistent, condition-based, and manual connections, explains how to run a repeatable standby test, and clarifies why enabling On Demand does not guarantee disconnection when idle or lower battery use.
Check Battery usage before changing settings
On your iPhone, open Settings → Battery, choose a comparable reporting period, and review Shadowrocket’s battery usage and activity. Note screen time, charging, Wi-Fi or cellular use, and whether audio playback, photo syncing, or file transfers continued during that period. Check your iPad the same way; the Battery screen may vary by device and system version.
The percentage in the Battery list is Shadowrocket’s share of battery use during the selected period—not the number of battery percentage points the app consumed. Its share may rise simply because you used other apps less that day. Activity from the network extension handling other apps’ requests may also appear in Shadowrocket’s statistics, so a long background activity time alone does not prove anything is wrong.
- Start with the actual battery change: Record the charge at the beginning and end. For example, a drop from 80% to 77% is 3 percentage points—not the percentage shown in the app list.
- Then check what was running: Audio playback, cloud syncing, or file transfers during screen lock mean the device was not idle.
- Finally, check the network: Weak signal, frequent network changes, and repeated connection retries can all affect total battery use.
If the phone is also warm and cellular reception is unstable, retest on a steady Wi-Fi connection first. Changing protocols or several settings at once makes it harder to identify the cause.
Background connection costs: traffic, keepalives, and reconnects
Once Shadowrocket connects, the system network extension can continue handling network traffic while the app is in the background. The app’s foreground display and whether the tunnel is still active are separate things. A persistent connection does not mean the device is under heavy load every second; actual battery use depends on traffic, connection count, encryption, and network stability.
| Observed symptom | Possible workload | What to check next |
|---|---|---|
| Traffic continues after the screen locks | Background syncing, playback, or downloads continue to use the network | Pause those tasks, then compare standby periods of equal length |
| Repeated reconnects when the network changes | The old connection is lost and a new session must be established | Stay on one network and check whether reconnects decrease |
| Frequent connection failures despite low traffic | Timeouts and retries may repeatedly wake network processing | Check the address, port, and protocol settings for your existing service |
| Only the battery-use share has increased | Other apps used less battery, changing the total used for comparison | Consider the device’s actual battery drop and activity periods |
Keepalives help some connections maintain network state, but behavior varies by protocol, server, and network. Don’t judge battery use by protocol name alone, or change port 443 to another number as a power-saving measure; the port must match the settings of your existing service. If you enabled diagnostic logging, restore the level you normally need when troubleshooting is complete instead of leaving detailed logs on indefinitely.
Settings → On Demand: triggers by conditions, not an idle timer
Go to Settings → On Demand and check whether it is enabled and what conditions are already set before deciding to turn it on. On Demand uses the system’s on-demand connection mechanism, which determines whether to attempt a connection based on saved rules and network conditions. It is not a general switch that runs only when you open a particular app, nor does it mean the connection will always stop after a period without traffic.
If the saved conditions cover all your usual networks, the system may try to reconnect after an interruption, making the connection behave much like an always-available one. On-demand rules can also specify actions such as not connecting or disconnecting, depending on the saved conditions and actions. Turning on the main switch alone does not create a battery-saving setup tailored to your needs.
-
Record your current settings
In Home, note the selected server and Global Routing mode. Then open Settings → On Demand and record whether it is enabled and which conditions are set. Keep a restorable copy of your configuration before making changes.
-
Review the conditions
In Settings → On Demand, check each condition and its corresponding action. If a condition uses a Wi-Fi name, verify the exact network name; don’t automatically trust a network just because it has the same name.
-
Enable and save
Once the conditions look right, enable On Demand and complete any required save step. If iOS asks you to authorize a VPN configuration, review the prompt and allow it. Switching the setting on does not by itself confirm that a connection was established.
-
Verify the trigger
Return to Home and make a web request under a network condition that should trigger a connection. Check the connection status and confirm the page loads. A first-time tunnel setup may add some delay; distinguish that from repeated timeouts.
-
Verify the disconnect behavior
Switch to another network condition covered by your rules and check whether the actual status matches. To stop the connection completely by hand, turn off On Demand in Settings first, then disconnect from Home. This prevents the system from reconnecting according to the rules.
Choosing between persistent, On Demand, and manual connections
Decide when you need a connection, then choose how to manage it. If network tasks are ongoing, repeatedly disconnecting and reconnecting may not save battery. If you won’t need the tunnel for a while, stopping it explicitly makes it easier to establish a reliable standby baseline. The suggested starting point below is for troubleshooting, not a rule for every use case.
Manual connection
RecommendedTurn off On Demand, then use the connection switch in Home to control when you connect. For troubleshooting, this clearly separates connected and disconnected conditions; for everyday use, remember to turn it on manually.
Best for: establishing a battery baseline, brief sessions, and checking why a connection keeps restarting.
On Demand
Connect automatically when saved conditions are met, so you’re less likely to forget to connect manually. Broad conditions can keep the tunnel active for long periods, while unsuitable conditions may delay the first request.
Best for: use cases with predictable network conditions that call for automatic connections.
Persistent connection
Keep the connection on to avoid the delay of repeatedly establishing it. Background tasks continue through the current routing setup; recovery after a network change depends on the system and connection state.
Best for: uninterrupted work, long transfers, and periods when connection continuity matters.
Bottom line: establish a manual baseline before automating
Start with a controlled comparison with On Demand off. If you confirm that the connection itself contributes to extra battery use, use specific network conditions to limit the time connected. Don’t assume that enabling On Demand will save battery without testing it.
On Demand controls when to connect; Home → Global Routing controls how requests are routed. They serve different purposes. Proxy, Direct, Config, and Scene are routing options, not four power modes. With Config, check the selected profile in Config. Rules such as DOMAIN-SUFFIX, IP-CIDR, GEOIP, and FINAL determine where requests go; they do not directly define when the system starts or stops the tunnel.
Compare two standby periods instead of drawing conclusions from one day’s battery share
Choose two periods with as similar usage conditions as possible, and start with 60 minutes per test. This is a convenient testing window, not an official energy-use benchmark. Battery readings are rounded, so a one-off difference of 0 or 1 percentage point is not strong evidence. If the results are close, repeat the tests or observe for longer.
- Group A: Turn off Settings → On Demand, then disconnect in Home. Stay on Wi-Fi, pause high-traffic tasks, and record the starting and ending battery levels, whether the screen was locked, and any unusual activity.
- Group B: Keep the same server, protocol, configuration, and network; connect manually and observe for the same amount of time. Don’t enable new automatic conditions during the test.
- Repeat: Run Groups A and B again under similar conditions. Don’t charge during the test or compare a strong Wi-Fi connection with weak cellular reception.
- Then test On Demand: If the difference between the first two groups is consistent, enable the conditions you reviewed and record the actual connection time and whether the first request succeeds.
For example, you might record “8:00–9:00 a.m., Wi-Fi, screen locked, 80% → 78%, manually disconnected.” This is an example of a record format, not a measured result or a promise about battery use. If photo syncing, app updates, or a large number of messages occur during a test, note them and repeat the test in another time slot if needed.
If Groups A and B are similar but battery use rises noticeably on cellular, check signal strength and background tasks first. If timeouts, heat, or unusual traffic occur repeatedly only while connected, review the settings for your existing service and the actual request records. This guide assumes you already have a service provider and subscription. Don’t change several settings at once in response to a single battery fluctuation; that can make connection and battery issues harder to separate.
On Demand and background battery use: FAQs
Why does the VPN stay connected after I enable On Demand?
First, check in Settings → On Demand whether the conditions cover your current network, then pause background transfers and observe. If the conditions call for a persistent connection, the system may keep or re-establish the tunnel. VPN status alone doesn’t show how much traffic is flowing or prove that the On Demand rules aren’t working.
The connection comes back right after I turn it off. Where do I stop it?
Turn off Settings → On Demand first, then disconnect in Home and check the system VPN status. If the connection still comes back, search for VPN in iOS Settings and check which configuration is active and whether its on-demand connection is enabled. Don’t delete other configurations if you’re unsure what they’re for.
The first web page loads slowly after the screen has been locked. What should I do?
Check Home to see whether the connection is being re-established, then visit the same page twice in a row. If only the first request takes longer, check the On Demand trigger and network recovery. If requests continue to fail, review Global Routing, the selected configuration, and the settings for your existing service. Don’t assume a protocol problem based only on the first request’s load time.
Does switching Global Routing to Direct turn the connection off?
No. Direct is a routing option; it does not stop the system tunnel. To test standby with no connection, turn off On Demand and disconnect in Home. After troubleshooting, restore the Global Routing setting you recorded so everyday requests are routed as before.
Can Low Power Mode replace On Demand?
No. Low Power Mode adjusts system activity; it doesn’t create on-demand connection conditions for you. To test its effect, treat Low Power Mode as a separate test condition. Don’t change both the connection method and Low Power Mode between Groups A and B.
Keep a record of the settings that worked: whether On Demand is enabled, which networks trigger it, the Global Routing selection, and whether background transfers were active during testing. If a problem comes back, restore these verified conditions first and then check settings one at a time. That makes the cause easier to identify than repeatedly toggling everything.