بالنسبة إلى معظم مهام البرمجة، لا يكون حجم الصفحة مهمًا. ومع ذلك، إذا كنت تخصّص كميات كبيرة من الذاكرة أو تعمل على مكونات محسّنة بشكل كبير أو تتفاعل مباشرةً مع النواة أو تجري عمليات معالجة كبيرة للملفات، قد يؤدي انتقال نظام التشغيل Android إلى حجم الصفحة البالغ 16 كيلوبايت إلى إضافة اعتبارات إلى تحليل الأداء. يوضّح هذا المستند بعض الطرق التي يؤثر بها حجم الصفحة في ديناميكية الأداء.
رصد مشاكل الذاكرة
عند تخصيص الذاكرة باستخدام mmap، احرص على تمرير وسيطة تكون دائمًا مضاعفًا لحجم الصفحة. إذا طلبت 4096 بايت على نظام بحجم صفحة يبلغ 16 كيلوبايت، ستخصّص النواة 16 KB، ما يؤدي إلى إهدار 12 KB من المساحة. يمكن أن يساعد عرض /proc/maps أو /proc/smaps (أو استخدام أداة Android showmap
التي تعرض المساحة غير المستخدَمة بشكل جيد) أو التحقّق من strace للعملية في رصد هذه المشاكل.
رصد مشاكل مساحة القرص
تتضمّن الأجهزة التي تعمل بالإصدار 15 من نظام التشغيل Android والإصدارات الأحدث ملفات ELF محاذية بحجم 16 كيلوبايت بشكل تلقائي، كما أنّ العديد من التطبيقات محاذية بحجم 16 كيلوبايت أيضًا. وبغض النظر عن النظام، زاد حجم المساحة المتروكة في العديد من الملفات. للاطّلاع على الحجم الفعلي على القرص، يمكنك استخدام du <my file> لمعرفة عدد الكيلوبايت التي يشغلها الملف. لعرض الحجم الظاهري لملف، يمكنك استخدام du -b <my file>، الذي يعرض لك الحجم بالبايت. عندما يكون الحجم الظاهري أكبر من الحجم الفعلي، يعني ذلك عادةً أنّ الملف مضغوط أو يتضمّن مناطق متفرقة. عندما يكون الحجم الظاهري أصغر من الحجم الفعلي، من المحتمل أن يحتوي الملف على بيانات وصفية إضافية أو قد يكون مقسّمًا على القرص. باستخدام عمليات التحقّق هذه، يمكنك تحليل الحجم الفعلي للملفات على القرص.