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

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

تشخیص مشکلات حافظه

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

تشخیص مشکلات فضای دیسک

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