En dehors de énorme caméra mégapixels et écrans à taux de rafraîchissement élevé, la plus grande tendance dans le monde des smartphones semble être la RAM virtuelle. Certains l’appellent l’extension de la RAM dynamique, tandis que d’autres l’appellent la RAM étendue. Peu importe son nom, l’idée reste la même. Autorisez les utilisateurs à utiliser une partie de leur stockage en tant que RAM pour faciliter le multitâche.
Nous verrons dans ce guide comment fonctionne la gestion de la mémoire dans Android et en quoi l’idée de la RAM virtuelle en diffère. Nous allons essayer de déterminer si la RAM virtuelle est même requise sur Android ou non. Alors allons-y.
Comment fonctionne la gestion de la mémoire sur Android
Tout d’abord, il est important de comprendre comment Android gère votre mémoire. Dans Android, il existe 3 types de mémoire. Le premier est votre RAM, puis vous avez zRAM, et enfin votre stockage. La RAM est le module de mémoire de base à l’intérieur duquel toutes les applications s’exécutent. Ensuite, il y a votre stockage intégré, soit UFS ou eMMC sur des appareils économiques. Enfin, nous avons la zRAM. Essentiellement, zRAM est une partition à l’intérieur de la RAM.
L’idée derrière la zRAM est que les données de faible priorité sur la RAM sont compressées et stockées à l’intérieur de la zRAM. Étant donné que la RAM est chaque jour plus rapide que votre stockage normal, avoir des données compressées dans la zRAM, qui fait partie de la RAM, sera toujours plus rapide que d’y accéder depuis votre stockage, même si vous comptez les temps de compression et de décompression.
Maintenant que nous avons établi les 3 différents types de mémoire disponibles pour Android, comprenons comment le système d’exploitation gère tout cela. Ainsi, Android utilise des techniques de pagination. Son fonctionnement est que la RAM est divisée en pages, chaque page faisant généralement 4 Ko. Que cette page soit gratuite ou activement utilisée, elles se combinent pour afficher respectivement la RAM utilisée et la RAM inutilisée. Ensuite, la tâche du noyau est de convertir la mémoire utilisée en mémoire libre. Il le fait en déplaçant les données de ces pages utilisées vers votre stockage.
Qu’est-ce que la pagination et comment ça marche
Pour comprendre comment cela fonctionne, comprenons les types de pages. Vous pouvez classer les pages en deux types : les pages propres et les pages sales. Les pages propres ont une copie non modifiée enregistrée dans l’espace de stockage. Pendant ce temps, les pages sales ont une copie modifiée des données stockées dans le stockage. Maintenant, qu’est-ce que c’est modifié et non modifié ? Appelons cela une utilisation dynamique de votre mémoire.
Les copies non modifiées sont des données statiques, tandis que les copies modifiées sont des changements de données dynamiques toutes les secondes. Android peut purger les pages propres en cas de besoin, car elles n’accèdent pas dynamiquement aux ressources. Cela aide à libérer de la RAM et à en rendre plus disponible. Cela peut sembler un peu trop technique, alors simplifions la compréhension en utilisant des applications du monde réel.
Supposons que vous ouvrez Twitter, parcourez votre flux, puis passez à autre chose. Twitter est toujours là dans votre RAM. Mais si vous ne l’ouvrez pas pendant un certain temps, sa priorité diminue. Plus tard, si vous lancez quelque chose de nouveau, Android devra libérer la mémoire utilisée par Twitter. Donc, ce qu’il fait, c’est qu’il déplace ses valeurs et ses données vers le stockage et vous donne de l’espace libre. C’est pourquoi lorsque vous relancez Twitter, il vous montrera d’abord la chronologie à laquelle il a été mis en veille, puis se rafraîchira. Il en va de même pour Facebook, Reddit ou des applications similaires telles que Calculator ou Notes. Ces applications utilisent des pages propres car une copie de leurs données est enregistrée de manière statique dans votre stockage.
Maintenant, pour les pages sales, pensez à Spotify ou à n’importe quel lecteur de musique. Vous lancez de la musique dans le lecteur, puis vous la laissez fonctionner en arrière-plan sans ouvrir l’application. Cependant, le système ne peut pas le fermer car il utilise dynamiquement votre mémoire. En conséquence, Android compresse l’application et la déplace vers zRAM lorsque plus de RAM libre est requise.
Qu’est-ce que la RAM virtuelle
Maintenant que vous savez comment Android gère la mémoire, vous devez vous demander : d’où vient la fonctionnalité de RAM virtuelle ? Rappelez-vous comment nous avons dit que la zRAM faisait également partie de la RAM ? La façon dont la RAM virtuelle fonctionne est qu’elle crée une partition d’échange sur votre espace de stockage et l’utilise comme zRAM supplémentaire.
Parce que la zRAM est stockée uniquement sur votre RAM, il y a une limite au nombre de pages que vous pouvez compresser et stocker dedans. Avec une partition swap, vous pouvez utiliser votre espace de stockage comme zRAM supplémentaire, pour compresser et déplacer des applications, tout en libérant de l’espace dans votre RAM réelle.
Cette fonctionnalité est-elle nouvelle
Alors, tout cela est-il nouveau ? Eh bien pas vraiment. Linux utilise des partitions swap depuis le début. Pour Android, les utilisateurs du noyau personnalisé ont utilisé leurs cartes SD pour créer des partitions d’échange supplémentaires afin d’améliorer la gestion de la mémoire.
En tant que tels, les fabricants de marques vous offrent simplement la même fonctionnalité intégrée à leurs skins Android. Cependant, cela soulève la question – si la fonctionnalité est si utile, pourquoi n’a-t-elle pas fait partie du code source d’Android ?
La RAM virtuelle est-elle bonne ou mauvaise
La réponse réside dans le fonctionnement très basique de la RAM virtuelle elle-même. Bien que la fonctionnalité vous permette d’exécuter plus d’applications sur votre appareil en compressant les applications en veille prolongée et en les déplaçant vers votre stockage, cela fait plus de mal que de bien. Étant donné que les partitions d’échange stockent essentiellement des applications actives, il y a un sens plus élevé de lecture et d’écriture impliqué.
Cela fonctionne bien sur le stockage traditionnel, mais la mémoire flash a un nombre limité de lectures et d’écritures. Ainsi, en utilisant SWAP ou Virtual RAM, vous réduisez techniquement la durée de vie du stockage de votre appareil.
Ceci est également bien mis en évidence sur La page développeur d’Android. « Sur Android, le stockage n’est pas utilisé pour l’espace d’échange comme c’est le cas sur d’autres implémentations Linux, car une écriture fréquente peut entraîner une usure de cette mémoire et raccourcir la durée de vie du support de stockage. » Un autre exemple de ceci est dans les nouveaux MacBooks Apple M1. Ces machines utilisent une partition swap sur les SSD d’Apple, pour laquelle les utilisateurs se sont beaucoup plaints.
La RAM virtuelle est-elle importante et devriez-vous l’utiliser
Essentiellement, tout dépend de la façon dont vous définissez le multitâche. S’il jongle entre seulement deux à trois applications actives, alors bien sûr, la RAM virtuelle aide à cela. Mais si vous continuez à basculer entre 5 et 6 applications fortement actives, la RAM virtuelle ne fera rien car elle continuerait à déplacer les applications.
À la base, la fonctionnalité de RAM virtuelle vous permet plus d’espace RAM disponible pour l’exécution des applications. Cependant, cela se fait au détriment de votre stockage. Si vous avez l’intention de continuer à utiliser votre appareil pendant plus de deux ans, nous pensons que l’utilisation de la RAM virtuelle n’a peut-être pas beaucoup de sens.