27 Mart 2025'ten itibaren AOSP'yi derlemek ve AOSP'ye katkıda bulunmak için aosp-main
yerine android-latest-release
kullanmanızı öneririz. Daha fazla bilgi için AOSP'de yapılan değişiklikler başlıklı makaleyi inceleyin.
16 KB sayfa boyutu için optimize etme
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Çoğu programlama görevi için sayfa boyutu önemli değildir.
Ancak, büyük miktarda bellek ayırıyorsanız, yüksek düzeyde optimize edilmiş bileşenler üzerinde çalışıyorsanız, doğrudan çekirdekle arayüz oluşturuyorsanız veya büyük miktarda dosya üzerinde işlem yapıyorsanız Android'in 16 KB sayfa boyutuna geçişi, performans analizinize dikkate alınması gereken noktalar ekleyebilir. Bu dokümanda, sayfa boyutunun performansın dinamiklerini değiştirmesinin bazı yolları vurgulanmaktadır.
Bellek sorunlarını algılama
mmap
ile bellek ayırırken her zaman sayfa boyutunun katı olan bir bağımsız değişken gönderdiğinizden emin olun. 16 KB sayfa boyutuna sahip bir sistemde 4096
bayt isteğinde bulunursanız çekirdek 16 KB
bayt ayırır ve 12 KB
baytlık alan boşa harcanır. /proc/maps
, /proc/smaps
değerlerini görüntülemek (veya boş alanı güzel bir şekilde yazdıran Android aracı showmap
'i kullanmak) ya da işleminizin strace
değerini kontrol etmek bu sorunları tespit etmenize yardımcı olabilir.
Disk alanı sorunlarını algılama
Android 15 ve sonraki sürümleri çalıştıran cihazlarda varsayılan olarak 16 KB'lık ELF'ler bulunur ve birçok uygulama da 16 KB'lık ELF'lere sahiptir. Sistemden bağımsız olarak birçok dosyada dolgu artırılmıştır. Diskteki gerçek boyutu görüntülemek için du <my file>
simgesini kullanarak dosyanın kaç kilobayt yer kapladığını görebilirsiniz. Bir dosyanın görünür boyutunu görüntülemek için du -b <my file>
simgesini kullanabilirsiniz. Bu simge, boyutu bayt cinsinden gösterir. Görünen boyut gerçek boyuttan büyükse bu genellikle dosyanın sıkıştırıldığı veya seyrek bölgelere sahip olduğu anlamına gelir. Görünen boyut gerçek boyuttan küçükse dosyada muhtemelen fazladan meta veri vardır veya diskte bölünmüş olabilir. Bu kontrolleri kullanarak diskteki dosyaların gerçek boyutunu analiz edebilirsiniz.
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-27 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 2025-07-27 UTC."],[],[],null,["# Optimize for 16 KB page size\n\nFor most programming tasks, the page size isn't relevant.\nHowever, if you're allocating large amounts of memory, working on\nhighly-optimized components, interfacing directly with the kernel, or doing\nlarge amounts of file manipulation, Android's transition to the 16 KB page\nsize could add considerations to your performance analysis. This document\nhighlights some ways page size changes the dynamics of performance.\n\nDetect memory issues\n--------------------\n\nWhen you allocate memory with `mmap`, make sure that you always pass an argument\nthat is a multiple of page size. If you request `4096` bytes on a system with a\n16 KB page size, then the kernel allocates `16 KB`, wasting `12 KB` of\nspace. Viewing `/proc/maps`, `/proc/smaps` (or using the Android tool `showmap`\nwhich prints the wasted space nicely), or checking the `strace` of your process\ncan help detect these.\n\nDetect disk space issues\n------------------------\n\nDevices launching on Android 15 and later have 16 KB aligned ELFs by\ndefault, and many applications are 16 KB aligned as well. Regardless of the\nsystem, many files have increased padding. To view the real size on disk, you\ncan use `du \u003cmy file\u003e` to see how many kilobytes a file takes. To view the\napparent size of a file, you can use `du -b \u003cmy file\u003e`, which shows you the size\nin bytes. When the apparent size is larger than real size, this usually means\nthat the file is compressed or has sparse regions. When the apparent size is\nsmaller than the real size, the file likely has extra metadata or may be split\nup on disk. Using these checks, you can analyze the real size of files on disk."]]