Para la mayoría de las tareas de programación, el tamaño de la página no es relevante. Sin embargo, si asignas grandes cantidades de memoria, trabajas en componentes altamente optimizados, interactúas directamente con el kernel o realizas grandes cantidades de manipulación de archivos, la transición de Android al tamaño de página de 16 KB podría agregar consideraciones a tu análisis de rendimiento. En este documento, se destacan algunas formas en que el tamaño de la página cambia la dinámica del rendimiento.
Detecta problemas de memoria
Cuando asignes memoria con mmap, asegúrate de pasar siempre un argumento que sea un múltiplo del tamaño de la página. Si solicitas 4096 bytes en un sistema con un tamaño de página de 16 KB, el kernel asigna 16 KB y desperdicia 12 KB de espacio. Ver /proc/maps, /proc/smaps (o usar la herramienta de Android showmap, que imprime el espacio desperdiciado de forma correcta) o verificar el strace de tu proceso puede ayudar a detectarlos.
Detecta problemas de espacio en el disco
Los dispositivos que se lanzan en Android 15 y versiones posteriores tienen ELF alineados de 16 KB de forma predeterminada, y muchas aplicaciones también están alineadas en 16 KB. Independientemente del sistema, muchos archivos aumentaron el padding. Para ver el tamaño real en el disco, puedes usar du <my file> para ver cuántos kilobytes ocupa un archivo. Para ver el
tamaño aparente de un archivo, puedes usar du -b <my file>, que te muestra el tamaño
en bytes. Cuando el tamaño aparente es mayor que el tamaño real, esto suele significar que el archivo está comprimido o tiene regiones dispersas. Cuando el tamaño aparente es menor que el tamaño real, es probable que el archivo tenga metadatos adicionales o que esté dividido en el disco. Con estas verificaciones, puedes analizar el tamaño real de los archivos en el disco.