3 votos

Soporte de memoria virtual para Android

Quiero saber si Android soporta el concepto de memoria virtual. Sé que Windows soporta la memoria virtual pero, ¿qué pasa con Android? ¿Nuestros teléfonos Android almacenan menos datos usados en la RAM?

12voto

Andy Brudtkuhl Puntos 1714

Android no usa memoria virtual (en el sentido que usted quiere decir) por defecto, porque tiene un mecanismo de nivel superior. Escribir de forma transparente páginas de memoria en un almacenamiento flash es malo para la duración de la batería (y para la vida de su almacenamiento flash, que sólo puede manejar un cierto número de escrituras) y el rendimiento, especialmente porque la aplicación no tiene control sobre qué partes de la memoria se "paginan".

En cambio, Android administra la memoria usando el mismo mecanismo que utiliza para decidir cuándo terminar las aplicaciones que ya no se están ejecutando. Cuando descubre que necesita liberar algo de memoria RAM, elige una aplicación que fue almacenada en caché (una que no está en uso actualmente). Termina esta aplicación para liberar su RAM, pero primero, le da a esa aplicación actividades una oportunidad de salvar algún estado escribiéndolo en el almacén.

Al hacer que la aplicación elija explícitamente qué guardar en el almacenamiento, en lugar de simplemente guardar todo el contenido de la RAM de esa aplicación, Android puede reducir la cantidad que tiene que escribir desde el almacenamiento y volver a leerlo más tarde. Esto ahorra almacenamiento y ahorra energía y tiempo de la batería, porque cada escritura y lectura desde el almacenamiento cuesta tiempo y energía.

Por supuesto, Android está basado en Linux, y utiliza la memoria virtual de otras formas no visibles para el usuario. Los sistemas Android deben tener un MMU, así que las aplicaciones usan direcciones virtuales, no físicas. Esto protege a las aplicaciones de que sus datos privados en la RAM sean leídos por otras aplicaciones, lo cual es necesario para un sistema seguro. También utiliza el compromiso retardado de Linux para ahorrar memoria: cuando un proceso pide más memoria, sólo obtiene páginas de memoria física cuando las utiliza realmente. La memoria virtual también permite el acceso a los archivos del sistema de archivos y al hardware mapeado en memoria. Nada de esto tiene que ver con el intercambio de archivos, pero significa que no es del todo exacto decir que Android no usa memoria virtual.

Puedes activar el intercambio en Android: ver esta pregunta relacionada para más detalles. No es recomendable hacerlo en la mayoría de los casos, ya que derrota el mecanismo de ahorro de memoria descrito anteriormente. Añadir una partición de intercambio hará que la batería se agote más rápido, que se gaste más rápido el almacenamiento flash y que el sistema sea menos sensible. Sólo querrá hacerlo si es absolutamente necesario ejecutar una aplicación que requiere más memoria RAM que la que tiene su dispositivo.

0 votos

Ok, pero puede t Android use internal memory as virtual one?And also does Android limit multitasking if you say it kill some processes to make up space?And how much multitasking Android supports as our windows pc s?

1 votos

@wss - Es posible pero es una mala idea en general. Ver mi respuesta aquí por razones. Además, Android es metódico en cuanto a los procesos que mata para liberar memoria. Ver aquí para más detalles.

0 votos

¿pero no podemos hacer el swap en la memoria interna del dispositivo, no en la memoria flash?

0voto

Kim Puntos 1

No sé si estoy en lo cierto, pero creo que Androif tiene una memoria virtual como un ordenador. Igual al tamaño de la RAM. Si no fuera así, no creo que los dispositivos Androids fueran lentos una vez que el disco duro está casi lleno. Sí. Cualquier comentario es bienvenido

0 votos

Quieres decir intercambio. Pero eso ya se ha mencionado en la otra respuesta. Además, si no estás seguro de tu respuesta, siempre es mejor que investigues más antes de responder, ya que este sitio no admite discusiones/comentarios (a menos que cumpla los criterios de una respuesta parcial, según la OMI). Espero que entiendas por qué este sitio web se esfuerza por dar respuestas de calidad y precisas. Que tengas un buen día de investigación y por favor, vuelve con ella para una mejor respuesta. :-)

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X