بهینه‌سازی برای اندازه صفحه ۱۶ کیلوبایتی

برای اکثر تکالیف برنامه‌نویسی، اندازه صفحه مرتبط نیست. بااین‌حال، اگر مقدار زیادی حافظه اختصاص می‌دهید، روی مؤلفه‌های بسیار بهینه‌سازی‌شده کار می‌کنید، مستقیماً با هسته تعامل دارید، یا مقدار زیادی دستکاری فایل انجام می‌دهید، انتقال Android به اندازه صفحه ۱۶ کیلوبایتی می‌تواند ملاحظاتی را به تحلیل عملکرد شما اضافه کند. این سند برخی‌از روش‌هایی را که اندازه صفحه بر پویایی عملکرد تأثیر می‌گذارد برجسته می‌کند.

شناسایی مشکلات حافظه

وقتی حافظه را با mmap اختصاص می‌دهید، مطمئن شوید که همیشه آرگومانی را ارسال می‌کنید که مضربی از اندازه صفحه باشد. اگر 4096 بایت در سیستمی با اندازه صفحه ۱۶ کیلوبایت درخواست کنید، هسته 16 KB را اختصاص می‌دهد و 12 KB فضا هدر می‌رود. مشاهده /proc/maps، /proc/smaps (یا استفاده از ابزار Android showmap که فضای هدررفته را به‌خوبی چاپ می‌کند)، یا بررسی strace فرایندتان می‌تواند به شناسایی این موارد کمک کند.

شناسایی مشکلات فضای دیسک

دستگاه‌هایی که با Android 15 و نسخه‌های جدیدتر عرضه می‌شوند به‌طور پیش‌فرض فایل‌های اجرایی و پیوندی (ELF) تراز ۱۶ کیلوبایتی دارند و بسیاری از برنامه‌ها نیز تراز ۱۶ کیلوبایتی دارند. صرف‌نظر از سیستم، بسیاری از فایل‌ها دارای حاشیه اضافی هستند. برای مشاهده اندازه واقعی روی دیسک، می‌توانید از du <my file> استفاده کنید تا ببینید یک فایل چند کیلوبایت فضا می‌گیرد. برای مشاهده اندازه ظاهری فایل، می‌توانید از du -b <my file> استفاده کنید که اندازه را به بایت نشان می‌دهد. وقتی اندازه ظاهری بزرگ‌تر از اندازه واقعی باشد، معمولاً به این معنی است که فایل فشرده شده است یا مناطق پراکنده دارد. وقتی اندازه ظاهری کوچک‌تر از اندازه واقعی است، احتمالاً فایل فراداده اضافی دارد یا ممکن است در دیسک تقسیم شده باشد. بااستفاده از این بررسی‌ها، می‌توانید اندازه واقعی فایل‌ها را در دیسک تجزیه‌وتحلیل کنید.