移動數據的使用成本很高,在數據計劃成本並非所有人都能承受的情況下更是如此。 Android 用戶需要能夠減少數據使用或完全阻止應用程序使用數據。 Android 7.0 版本中的流量節省程序功能為用戶提供了此功能。
數據保護程序功能可以由用戶打開或關閉。應用開發者應該使用新的 API 來檢查流量節省模式是否開啟。如果它打開,應用程序開發人員可以通過調整他們的應用程序以實現低數據訪問或無數據訪問來優雅地處理這種情況。
最終用戶將從中受益,因為他們將能夠控制哪些應用程序可以在後台訪問數據,哪些應用程序只能在前台訪問數據。這可確保在每個用戶控件啟用數據保護程序時進行所需的後台數據交換。
執行
由於數據保護程序是平台中的一項功能,因此設備製造商在 N 版本中默認獲得其功能。在以下位置找到源文件:包/應用程序/設置/src/com/android/settings/datausage
設置界面
Android 開源項目 (AOSP) 中提供了默認數據保護程序設置用戶界面。有關示例,請參見下面的屏幕截圖。
這些屏幕截圖顯示了正在使用的流量節省程序模式。
應用
重要提示:設備實施者不應將應用列入白名單。即使他們這樣做,用戶也可以刪除它們。包含其他應用程序會迫使用戶決定應用流量節省程序。
所有應用程序開發人員都必須採取行動實施流量節省程序,包括 OEM 和預裝應用程序的運營商。有關檢測和監控流量節省程序狀態的應用程序開發人員說明,請參閱developer.android.com上的流量節省程序。有關對合作夥伴有幫助的其他詳細信息,請參閱以下部分。
要針對流量節省程序模式進行優化,應用應:
- 刪除不必要的圖像
- 對剩餘圖像使用較低的分辨率
- 使用較低比特率的視頻
- 觸發現有的“精簡”體驗
- 壓縮數據
- 即使流量節省程序關閉,也要尊重按流量計費和不按流量計費的網絡狀態
相反,要與流量節省程序一起使用,應用程序不應:
- 自動播放視頻
- 預取內容/附件
- 下載更新/代碼
- 要求被列入白名單,除非後台數據確實是核心功能的一部分
- 將白名單視為使用更多帶寬的許可
驗證
實施者可以通過運行以下 CTS 測試來確保他們的功能版本按預期工作:
com.android.cts.net.HostsideRestrictBackgroundNetworkTests
此外,可以使用adb
命令手動進行測試,首先運行此命令以查看所有可用選項:
adb shell cmd netpolicy
例如,此命令返回白名單應用的 UID:
adb shell cmd netpolicy list restrict-background-whitelist