Shadowrocket Battery Drain in the Background: Should You Enable On Demand?

Learn how iOS reports battery usage and assess the impact of persistent connections, On Demand rules, and speed tests. Compare settings in the same conditions and choose what fits your usage.

At a glance

Seeing Shadowrocket in the Battery Usage list doesn’t automatically mean you should turn off On Demand. First, distinguish battery attribution from connection duration and active speed tests. Then compare both settings under the same network conditions. This guide covers what to check, how to test, and how to choose based on your usage.

Understand iOS battery usage before deciding what’s unusual

Shadowrocket uses a system VPN connection to handle traffic. On your iPhone, go to Settings → Battery and select Shadowrocket to see usage and foreground and background activity for the selected period. These figures show its share of battery use during that period, not a direct measurement of how much power the app alone consumed. If other apps were barely used, Shadowrocket’s share may look high. Check the selected period, actual battery loss, and background activity before drawing conclusions.

While a connection is active, the system network stack, wireless connection, the app itself, and other apps transferring data may all contribute to battery use. Activity attributed to Shadowrocket on the Battery screen doesn’t mean all of that drain came from rule matching. Conversely, a small percentage doesn’t rule out extra wakeups caused by frequent network changes. The goal is to find out what makes battery drain faster—not just lower one percentage in the list.

2 places
Check Settings → Battery and Shadowrocket’s Home screen
3 factors
Track persistent connections, network changes, and active speed tests separately
1 setting
Change only Settings → On Demand when comparing

Keep screen time, video playback, system updates, and switches between Wi-Fi and cellular separate in your notes. Activity shortly after importing a configuration, updating a subscription, or running repeated speed tests isn’t representative of typical standby. Battery statistics also cover an earlier period, so checking them immediately after changing a setting won’t show the effect of the new setup.

What persistent connections and On Demand actually do

After you connect manually from Home, the VPN session can remain active as long as the system allows it and the connection isn’t interrupted. Even with no requests to route, staying connected doesn’t mean the device has no network activity at all. Still, an active connection alone doesn’t prove it’s the main cause of battery drain. Network quality, traffic volume, and background requests from other apps matter too.

Settings → On Demand lets you configure when a connection should be established based on network conditions. It controls when the app tries to connect; it doesn’t wake the app for each request and disconnect as soon as it’s handled. After enabling it, check that the rules match the Wi-Fi or cellular networks you use and confirm whether the connection stays active once established. Conditions that are too broad can result in a connection that’s effectively always on; conditions that are too narrow may not trigger when you need a connection.

Network conditions changeCheck On Demand conditionsAttempt to connectSystem handles trafficCheck connection status

Another setting that’s easy to confuse with On Demand is Global Routing on Home. Config routes requests according to configuration rules; Proxy and Direct select the corresponding global routing mode; Scene relates to scene settings. These options control how traffic is routed, not what triggers a connection through On Demand. When troubleshooting, don’t change Global Routing, the configuration, and On Demand at the same time, or you won’t know which change made a difference.

Bottom line: On Demand isn’t an automatic battery-saving switch

Keep On Demand enabled only if its conditions actually reduce unnecessary connection time without causing repeated connection attempts. Compare results in the same usage scenario to decide whether it’s right for you.

Compare the same scenario instead of relying on one percentage

Choose a repeatable everyday scenario—for example, use the same Wi-Fi and similar screen time, without running speed tests. In the first round, keep your current connection setup and note the starting and ending battery levels, activity in Settings → Battery, and connection status on Home. In the second round, change only Settings → On Demand and keep the test duration, network, and usage as close as possible to the first round. If a system update, extended video playback, or significant signal fluctuation occurs, mark that round as not comparable rather than forcing a conclusion.

  1. On Home, note the active configuration, Global Routing setting, and whether you’re connected. Keep these unchanged during the comparison.
  2. Go to Settings → On Demand and check the switch and its conditions. Make sure the conditions actually cover the network you plan to test; turning on the switch doesn’t guarantee a connection will be triggered.
  3. At the end of each round, check battery loss, activity in Settings → Battery, and whether the connection behaved as expected. Don’t compare the app’s percentage alone.
  4. If the results vary, repeat the test at a similar time on another day. Focus on patterns that recur and correspond to connection behavior.

Test standby and normal browsing separately. A standby test shows whether the connection remains active when you’re not using the device; a browsing test can reveal whether frequent reconnects affect everyday use. If you’re on cellular, also watch for changes when the signal is weak. Battery performance on stable Wi-Fi and in a weak-signal area isn’t directly comparable.

Rule out speed tests, subscription updates, and rule issues

Running repeated latency tests for existing servers from Home or repeatedly refreshing a subscription you already have generates active network requests. These actions may appear in Battery activity, but they don’t represent normal standby. Before testing On Demand, stop bulk speed tests and repeated refreshes. Check subscription links and connection parameters with your own service provider; Shadowrocket’s one-time purchase does not include network service.

Rules under Config determine where requests go. For example, DOMAIN-SUFFIX,example.com,DIRECT routes requests matching the example domain through Direct, while FINAL,PROXY routes requests that didn’t match earlier rules through Proxy. IP-CIDR and GEOIP are also rule conditions. Rule matching, DNS lookups, and network requests affect traffic routing, but switching Global Routing from Config to Direct isn’t a reliable battery test: it changes what the connection is used for, so the results can’t isolate the effect of On Demand.

Error: No Internet Connection

Cause and fix: If this system network alert appears after changing On Demand conditions, don’t assume it’s caused by battery drain or the rules themselves. First, confirm that your Wi-Fi or cellular connection is working, then check the connection status on Home and the trigger conditions in Settings → On Demand. If needed, restore the previous settings and test one change at a time.

If increased battery usage happens just after a subscription update, distinguish the update process itself from any changes to connection parameters afterward. Keep your existing records and check when the update finished, whether the connection remains stable, and whether it disconnects repeatedly. Don’t skip troubleshooting connection failures just to lower the usage shown in the list; repeated failures and retries can skew the comparison.

Choose settings for your usage and keep a way to revert

If you use a connection only on certain networks and want it to connect automatically when conditions are met, you can test On Demand. If you need an established connection to stay active for long periods, first check whether On Demand conditions cause unexpected disconnections or repeated reconnects. Choose based on whether connection behavior meets your needs and whether battery changes are consistent in the same scenario—not on the setting’s name.

Usage scenarioWhat to check firstHow to evaluate
Connect only on specific networksNetwork conditions in Settings → On DemandConnects when you join the target network and behaves as expected when you leave
Keep the connection activeConnection status and disconnection history on HomeStable connection with no repeated reconnects caused by On Demand conditions
Open the app occasionally to run speed testsSpeed test timing and Battery activity periodCompare active tests separately from standby activity
Frequent switches between Wi-Fi and cellularConnection status after each network changeConfirm triggers work as expected before comparing battery use

If enabling On Demand causes unexpected connection behavior or repeated reconnects during network changes, restore the last working settings first, then review the trigger conditions. Don’t change servers, rules, and DNS all at once. Conversely, if turning off On Demand doesn’t produce a consistent change in battery use, don’t assume it caused all the battery usage you saw earlier. Keep notes on the conditions used for each comparison so you can reassess when your network environment changes.

Check App Store details and setup steps

If you haven’t verified the app’s source, start with the authenticity check. To review the basics of Home, Config, and Settings, continue with the getting started guide.

Open the authenticity check View the guide
App Store authenticity check