核心结论: 想在 Android 上为 iProxy 节点关闭电池优化,需要在系统电池设置里把 iProxy 应用和 OpenVPN for Android 都标记为无限制(Android 12+)或不优化(Android 9–11)。各版本菜单路径不同,本文按 Android 9 到 16 分别给出操作流程。
你要做的事
把两个应用在每台代理手机的系统级电池设置中标记为无限制(或在老版本 Android 上标记为不优化),覆盖整个 Android 代理农场 的每一台手机:
- iProxy —
com.iproxy.android - OpenVPN for Android —
de.blinkt.openvpn(开源的 ics-openvpn 客户端)
不做这一步,Android 会把这两个应用当成普通后台进程,逐级加大限制:Doze 延迟调度、应用待机分组下调、前台服务节流,最后在激进的 OEM 系统皮肤上把常驻通知一起杀掉。表现出来就是莫名其妙的掉线、SIM 卡组失联、隧道断开,看起来像代理本身的 bug,其实只是系统电池管理按设计运行。
修复动作是按应用、按手机、一次性完成的。熟悉路径之后,每台机器大约两分钟。如果你在跑任何规模的代理农场,在新机开机第一天就处理掉,比之后排查在线率不稳要省事得多。完整的运维基线清单见 稳定代理运行的连接设置 。
跳转到你的版本
⚠️ 两个应用 iProxy 和 OpenVPN 都要做,否则没意义。 为什么?
| 版本 | 章节 |
|---|---|
| Android 16 | Android 16:和 Android 15 同款的隐藏子菜单 |
| Android 15 | Android 15:隐藏子菜单陷阱 |
| Android 14 | Android 13–14:清爽的单选按钮页 |
| Android 13 | Android 13–14:清爽的单选按钮页 |
| Android 12 | Android 12:单选按钮一致,标题略有不同 |
| Android 11 | Android 9–11:分裂的旧式界面 |
| Android 10 | Android 9–11:分裂的旧式界面 |
| Android 9 | Android 9–11:分裂的旧式界面 |
这块界面在以上几代 Android 里被重新设计过三次,操作步骤随之变化。找到自己的版本,按三步操作,然后对 OpenVPN 重复一遍。
关于机型选择: 已经上架的手机几乎没法换 Android 版本,但如果你还在选设备,可以参考我们的 iProxy 推荐 Android 机型列表 ,里面标出了系统支持周期长、电池菜单稳定的机型。iProxy.online 官网上的推荐设备页面 会同步实时可用情况。
Android 16:和 Android 15 同款的隐藏子菜单
Android 16 沿用了 Android 15 在这个设置上的应用级电池界面。最顶层页面显示允许后台使用一行加一个受限单选按钮,无限制藏在下一层子页面里。
操作:
- 设置 → 应用 → 查看全部应用 → iProxy → 应用电池用量
- 点击 “允许后台使用”这一整行的文字标签,不要点右侧的开关。
- 在打开的子页面中选择无限制,然后返回。
对 OpenVPN for Android 重复同样的步骤。点击区域和最终的子页面与下面 Android 15 的截图完全一致。
Android 15:隐藏子菜单陷阱
Android 15 引入了隐藏子菜单的陷阱,Android 16 也保留了这个设计。顶层页面显示允许后台使用开关和一个受限单选按钮。多数运营者瞄一眼开关,看到已经打开,就退出了。这个状态是“已优化”,不是“无限制”。 无限制隐藏在更深一层。
操作:
-
设置 → 应用 → 查看全部应用 → iProxy → 应用电池用量
-
点击 “允许后台使用”这一整行的文字标签,不要点右侧的开关。点开关只会在“受限”和“非受限”之间切换,永远进不到“无限制”。整行都是点击热区:
-
在打开的子页面中选择无限制,然后返回:
一句话识别陷阱: 如果当前页面只有一个开关加一个单选按钮,那你还在顶层页面,应用处于“已优化”状态。如果你看到两个单选按钮(无限制 / 已优化),才是真正该停留的页面。
对 OpenVPN for Android 重复同样的步骤。
为什么 Android 15 把这个选项藏起来
Google 给出的理由是大多数消费类应用并不需要无限制,所以把它下沉了一级,避免随手放行。对于无人值守的 7×24 小时代理节点来说,恰恰就是系统想要劝阻的场景,因此多按这一下没法绕开。
Android 13–14:清爽的单选按钮页
支持版本里最干净的界面。一个页面三个单选按钮,一次点击搞定。
操作:
- 设置 → 应用 → 查看全部应用 → iProxy → 应用电池用量
- 选择无限制。
- 返回。
对 OpenVPN for Android 重复同样的步骤。
(Android 14 的界面和文案与 Android 13 完全一致。)
Android 12:单选按钮一致,标题略有不同
布局和 Android 13 一样是三个单选按钮,仅有一个细节差别:应用详情页里那一行叫电池而不是应用电池用量,进入后页面标题也叫电池。
操作:
- 设置 → 应用 → 查看全部应用 → iProxy → 电池
- 选择无限制。
- 返回。
对 OpenVPN 重复同样的步骤。
Android 9–11:分裂的旧式界面
在 Android 9、10、11 上,应用级电池界面是拆开的:一个后台限制开关(保持关闭),加一个电池优化子页面,里面列出所有已安装应用,配一个“优化 / 不优化”对话框。真正的设置就在这个对话框里。
操作:
-
设置 → 应用和通知 → 查看全部应用 → iProxy → 高级 → 电池 → 电池优化
-
列表默认显示“未优化”。点击列表顶部的下拉,切换成所有应用,然后找到 iProxy:
- Android 11 / 10: 点击放大镜图标,输入
iproxy,选择对应那一行。 - Android 9: 没有搜索按钮,列表按字母顺序排列,滚动到
i那段,点 iProxy。
- Android 11 / 10: 点击放大镜图标,输入
-
在弹出的对话框里选择不优化,并点完成确认:
Android 9 的对话框外观完全相同:
对 OpenVPN for Android 重复同样的步骤。
Android 9 小坑: 电池优化列表滚动很快,在触屏上很容易划过头。如果对话框打开的是错的应用,点取消再往回翻。这个版本没有搜索快捷方式。
确认设置生效
两个应用都设置完之后:
- 重启手机。
- 重新打开 iProxy 和 OpenVPN 两个应用的电池设置页面。
- 确认仍然停留在无限制(Android 12+)或不优化(Android 9–11)。
这个设置一般能挺过重启和常规应用更新。有两种情况会让它被重置:
- OEM 系统皮肤的大版本更新。 小米 MIUI / HyperOS 和三星 OneUI 都曾被观察到在系统升级后重置应用级电池豁免。每次 OTA 之后都要重新检查这两个应用。
- 应用被在设置里强行停止。 在 Android 15+ 上,Android 的应用停止状态行为 会让应用保持停止状态,直到用户直接或间接重新启动它,期间挂起的 intent 也会被取消。在生产手机上不要点“强行停止”;如果不小心点了,先把应用打开一次,再回去确认是否仍是无限制。
如果在原生 Android 机型(Pixel、近几代摩托罗拉、索尼)上既没强行停止过、也没经历大版本 OS 更新,设置却被重置,这就值得深入排查了:在原生 Android 上不应该出现这种情况。
修复了什么,没修复什么
能修复:
- 手机空闲时,针对这两个应用的 Doze 网络与 CPU 工作延迟调度。
- 把它们降级到
rare或restricted的 应用待机分组,对应任务、闹钟会被节流,restricted还会限制网络访问。 - 全局省电模式开启时,针对单个应用的额外节流。
- 与待机分组绑定的前台服务限制,包括 Android 13 起对于被用户放进受限后台使用的应用的 BOOT_COMPLETED 抑制策略。
不能修复:
- OEM 自家的杀进程机制。 小米的自启动管理,MIUI / HyperOS 的省电策略,三星 OneUI 的休眠 / 深度休眠应用,华为 EMUI 的受保护应用,OPPO / 真我 ColorOS 的保活策略。这些是按厂商独立的设置页面,叠加在原生 Android 电池管理之上。即使两个应用都已设成无限制,OEM 皮肤照样能把它们杀掉。社区维护的 dontkillmyapp.com 跟踪最严重的厂商以及对应的解决办法,我们的 4G 代理网络搭建教程 也覆盖了把 OEM 皮肤干扰降到最低的整套农场维护流程。
- 全局省电模式。 本文调整的是按应用的行为。一旦全局省电模式启用,在大多数手机上它能盖过单应用豁免。对于插电运行的代理节点,干脆全局禁用省电模式。理论上它也根本不应触发,因为手机一直接着市电。
- Wi-Fi 休眠策略。 一部分手机会在屏幕关闭时断开 Wi-Fi,代理也就跟着失去网络。设置 → Wi-Fi → 高级 → 休眠期间保持 Wi-Fi 开启 → 始终。
- 电池本身的长寿命管理。 这里的系统设置只保住应用进程不死,不会减慢一台插电运行 7×24 小时手机的电池单体老化。包括 80% 电量临界点、高电量状态下的日历老化、以及智能插座定时断电充电在内的化学侧问题,是另一个话题,可以参考本文所属的支柱文章 代理手机电池长寿命管理指南 。
速查表
打印或截图贴到机架上:
| Android | 路径 | 最终动作 |
|---|---|---|
| 16 | 应用 → iProxy → 应用电池用量 → 点击行标签 | 在子页面中选择无限制 |
| 15 | 应用 → iProxy → 应用电池用量 → 点击行标签 | 在子页面中选择无限制 |
| 14 | 应用 → iProxy → 应用电池用量 | 选择无限制 |
| 13 | 应用 → iProxy → 应用电池用量 | 选择无限制 |
| 12 | 应用 → iProxy → 电池 | 选择无限制 |
| 11 | 应用和通知 → iProxy → 高级 → 电池 → 电池优化 | 下拉 → 所有应用 → 搜索 → iProxy → 不优化 |
| 10 | 应用和通知 → iProxy → 高级 → 电池 → 电池优化 | 下拉 → 所有应用 → 搜索 → iProxy → 不优化 |
| 9 | 应用和通知 → iProxy → 高级 → 电池 → 电池优化 | 下拉 → 所有应用 → 滚动到 iProxy → 不优化 |
为什么必须对两个应用都设置
一个典型的 iProxy 节点跑在 OpenVPN 隧道之后,数据通路是:
移动网络 ↔ Android 系统 ↔ OpenVPN 隧道 ↔ iProxy 守护进程 ↔ 远端客户端
两个进程都必须 7×24 小时在线,代理才可达。Android 的电池管理对它们分别独立处理。把 iProxy 设为无限制、却让 OpenVPN 留在已优化,毫无意义。 几天没有用户交互之后,系统会把隧道降级进 restricted 待机分组、节流它的闹钟,最后把它的前台服务杀掉。iProxy 还在跑,但底下已经没东西替它转发流量了。
这正是“iProxy 用了一周后在线率下滑”这类工单最常见的原因,结果排查到最后发现根本不是 iProxy 的 bug。代理应用本身没问题,是底下那条隧道挂了。