為配合主幹穩定開發模型,並確保生態系統的平台穩定性,我們將於 2026 年起,在第 2 季和第 4 季將原始碼發布至 AOSP。如要建構及貢獻 AOSP,建議使用 android-latest-release,而非 aosp-main。android-latest-release 資訊清單分支版本一律會參照推送至 AOSP 的最新版本。詳情請參閱「Android 開放原始碼計畫變更」一文。
Google uses AI technology to translate content into your preferred language. AI translations can contain errors.
核心總覽
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
應用程式專屬和委派的資料用量監控與追蹤功能,依賴 Android 3.0 Linux 核心 (kernel/net/netfilter/xt_qtaguid) 中的 xt_qtaguid 模組。架構 (system/core/libcutils/qtaguid.c) 中的通訊端標記功能主要依賴 xt_qtaguid 核心模組匯出的 /proc/net/xt_qtaguid/ctrl 介面。
quota2 netfilter 模組 (原本是 xtables-addons 的一部分) 可讓功能設定具名配額限制,並擴充為在達到特定限制時通知使用者空間。達到配額上限後,quota2 模組會捨棄所有後續網路流量。架構也可以指定其他規則,限制應用程式的背景資料流量 (請參閱 com.android.server.NetworkManagementSocketTagger.setKernelCounterSet 和 android.net.NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND)。
運作方式
qtaguid netfilter 模組會根據擁有應用程式的專屬 UID,追蹤每個應用程式的每個通訊端網路流量。系統中任何通訊端都有兩個相關聯的標記元件。首先是 UID,可明確識別負責資料傳輸的應用程式 (Linux 允許將每個網路通訊端的擁有權歸因於呼叫應用程式的 UID)。第二個標記元件用於支援將流量進一步歸類到應用程式開發人員指定的類別。應用程式可以使用這些應用程式層級標記,將流量歸類為多個子類別。
如果是提供網路資料傳輸服務的應用程式 (例如下載管理工具、媒體串流服務等),可以使用 TrafficStats.setThreadStatsUid() 函式呼叫,將網路資料傳輸的擁有權歸給要求應用程式的 UID。呼叫者必須擁有「android.permission.MODIFY_NETWORK_ACCOUNTING」權限,才能重新指派網路流量擁有權。
這個頁面中的內容和程式碼範例均受《內容授權》中的授權所規範。Java 與 OpenJDK 是 Oracle 和/或其關係企業的商標或註冊商標。
上次更新時間:2025-12-03 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-12-03 (世界標準時間)。"],[],[]]