自 2025 年 3 月 27 日起,我們建議您使用 android-latest-release
而非 aosp-main
建構及貢獻 AOSP。詳情請參閱「Android 開放原始碼計畫變更」。
針對 16 KB 頁面大小進行最佳化
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
對於大多數程式設計工作而言,頁面大小並不重要。不過,如果您要配置大量記憶體、處理經過高度最佳化的元件、直接與核心介面互動,或執行大量檔案操作,Android 改用 16 KB 的頁面大小可能會影響效能分析。本文將說明頁面大小會如何影響成效。
偵測記憶體問題
使用 mmap
分配記憶體時,請務必一律傳遞以頁面大小為倍數的引數。如果您在頁面大小為 16 KB 的系統上要求 4096
個位元組,則核心會分配 16 KB
,浪費 12 KB
的空間。您可以查看 /proc/maps
、/proc/smaps
(或使用 Android 工具 showmap
,這會清楚顯示浪費的空間),或是檢查程序的 strace
,藉此偵測這些問題。
偵測磁碟空間問題
在 Android 15 以上版本啟動的裝置,預設會使用 16 KB 對齊的 ELF,許多應用程式也都會使用 16 KB 對齊。無論系統為何,許多檔案都會增加邊框。如要查看磁碟上的實際大小,您可以使用 du <my file>
查看檔案的大小 (以千位元為單位)。如要查看檔案的實際大小,您可以使用 du -b <my file>
,這個函式會以位元組為單位顯示大小。如果實際大小大於顯示大小,通常表示檔案已壓縮或有稀疏區域。如果實際大小小於顯示大小,檔案可能含有額外中繼資料,或是已在磁碟上分割。您可以使用這些檢查項目,分析磁碟上檔案的實際大小。
這個頁面中的內容和程式碼範例均受《內容授權》中的授權所規範。Java 與 OpenJDK 是 Oracle 和/或其關係企業的商標或註冊商標。
上次更新時間:2025-04-04 (世界標準時間)。
[[["容易理解","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-04-04 (世界標準時間)。"],[],[]]