為配合主幹穩定開發模型,並確保生態系統的平台穩定性,我們將於 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.
NNAPI 驅動程式實作最佳做法
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
本頁說明實作 Neural Networks API (NNAPI) 驅動程式的最佳做法,讓應用程式開發人員廣泛採用 NNAPI。
縮短啟動時間
如果驅動程式會在首次使用時轉換模型權重,請確認驅動程式支援編譯快取,這樣應用程式啟動時,編譯所用的時間就會減少。這點很重要,因為如果啟動時間過長,應用程式可能會避免使用硬體加速功能。舉例來說,部分應用程式的權重超過 100 MB,每次啟動應用程式時都轉換這些權重,會造成資源浪費。
減少最低延遲時間
為確保模型使用硬體加速功能,請務必縮短驅動程式的最低延遲時間。許多應用程式會多次執行小型模型,如果執行工作負載的最低延遲時間過長 (例如幾毫秒),模型可能會在 CPU 上執行工作負載,而這只需要一到兩毫秒,而不是使用硬體加速。請小心使用成本高昂的執行緒同步。
使用 NN HAL SchedTune 群組
在 Android 11 以上版本中,AOSP 包含專用的 NN HAL SchedTune 群組,可讓跨程序 NN HAL 程序使用大核心,類似於預先定義的 top-app cgroup 內同程序實作。使用這個 SchedTune 群組可減少驅動程式負擔,特別是對於小型模型。
如要使用 SchedTune 群組,請將下列程式碼新增至 NN HAL 程序的 init.rc 檔案:
writepid /dev/stune/nnapi-hal/tasks
這個頁面中的內容和程式碼範例均受《內容授權》中的授權所規範。Java 與 OpenJDK 是 Oracle 和/或其關係企業的商標或註冊商標。
上次更新時間:2026-02-17 (世界標準時間)。
[[["容易理解","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"]],["上次更新時間:2026-02-17 (世界標準時間)。"],[],[]]