Alors que les appareils Android commencent à évoluer vers 6 Go de RAM, nous devons nous poser cette question: de quelle quantité de RAM avons-nous réellement besoin? Suivez-nous pendant que nous explorons !
Récemment, nous avons eu droit à l'annonce de l'un des premiers smartphones sous Android doté de 6 Go de RAM.
6 putains de Go! Cela représente beaucoup de RAM dans un appareil mobile.
Démarrer le jeu des nombres est le Vivo Xplay5 Élite. Vivo en tant qu'entreprise n'est peut-être pas très connue en dehors de la Chine, mais la société, à son honneur, a fabriqué des smartphones très fins dans le passé. Avec le Xplay5 Elite, ils ont essayé d'intégrer de nombreuses spécifications dans un appareil qui vise à figurer parmi les rois.
Le Vivo Xplay 5 Elite est doté d'un écran QHD Super AMOLED de 5,43 pouces à double courbure sur un cadre métallique pour le corps. À l’intérieur, on retrouve le dernier SoC Qualcomm Snapdragon 820 cadencé à 2,15 Ghz, un GPU Adreno 530, 6 Go de RAM LPDDR4 et 128 Go de stockage non extensible. Pour l’appareil photo, l’arrière est un capteur Sony IMX298 de 16 MP avec f/2.0 et l’avant est un jeu de tir de 8 MP. Compte tenu de ces spécifications et de la construction métallique de l’appareil, il n’est pas surprenant que cela coûte cher, même pour le consommateur chinois. Avec un prix de 4 288 CNY (660 $), il s'agit certainement d'un produit phare chinois plutôt que d'un milieu de gamme abordable.
Le Vivo Xplay5 Elite n’est actuellement pas le seul smartphone doté de 6 Go de RAM. Vernee, un équipementier chinois moins connu et nouvellement fondé, vise à rendre plus accessible aux consommateurs des quantités gargantuesques de RAM en lançant un appareil de milieu de gamme, le Vernee Apollo.
Le Vernee Apollo sera équipé du SoC haut de gamme de MediaTek, le Helio X20. Il y aura les 6 Go de RAM susmentionnés, 128 Go de stockage interne, une caméra arrière Sony IMX230 de 21 MP et un écran 2K de 5,5 pouces. Avec tout cela, l'Apollo coûterait 399,99 $. Les informations de presse qui nous ont été envoyées ne faisaient aucune mention d'un prix chinois ou de marchés cibles, le téléphone reste donc encore un peu mystérieux.
Ces deux téléphones nous invitent à poser la question: est-ce que nous vraiment besoin autant de RAM en ce moment ?
Pour répondre à cette question, nous devons comprendre comment Android gère la gestion de la mémoire et de la RAM. Mishaal a fait un travail fantastique en expliquant les subtilités de la gestion de la mémoire d'Android dans un article précédent, qui conserve toujours sa pertinence six mois plus tard.
"La façon dont Android gère la gestion de la mémoire est la suivante: plutôt que de tuer immédiatement chaque processus une fois son activité terminée (comme lorsque vous appuyez sur le bouton d'accueil pour quitter une application), le processus est conservé en mémoire jusqu'à ce que le système doive l'arrêter pour libérer plus de mémoire. Comment le système décide-t-il quels processus conserver et lesquels supprimer? Le pilote LMK (Low Memory Killer). Chaque processus se voit attribuer une valeur oom_adj allant de -17 à 15 par le service ActivityManager, qui ajuste dynamiquement la valeur oom_adj en fonction de l'importance du processus. Des valeurs oom_adj plus élevées signifient que le processus est plus susceptible d'être tué pour libérer de la mémoire, tandis que des valeurs plus faibles signifient que le processus est moins susceptible d'être tué."
"Android classe chaque processus en cinq catégories (premier plan, visible, service, arrière-plan et vide), allant du plus important au moins important pour continuer à fonctionner. Les processus appartenant à chaque catégorie sont supprimés à différents niveaux de mémoire libre restante (appelée valeur LMK minfree). Par exemple, si les valeurs LMK minfree de votre appareil sont définies sur « 2560,4090,6144,7168,8192 » (répertoriées sous la forme de pages de 4 000 pages, qui peuvent être lues à partir de /sys/module/lowmemorykiller/parameters/minfree), alors votre appareil tuera les processus définis comme « Vide » lorsque votre mémoire libre tombe en dessous de 32 Mo, les processus définis comme « En arrière-plan » lorsque la mémoire libre est inférieure à 28 Mo et les applications de premier plan lorsque la mémoire libre tombe en dessous. 10 Mo (Dieu nous en préserve !) Désormais, ces valeurs minfree ne sont pas typiques sur la plupart des appareils de nos jours, car les fabricants aiment les modifier à leur guise en fonction de la manière dont ils estiment que cela convient le mieux à leur appareil. Mais ce que vous devez retenir de cette brève explication, c’est que plus vous disposez de mémoire libre, moins vous risquez de voir des processus critiques être interrompus."
Comme le mentionne Mishaal, les valeurs réelles varient d'un OEM à l'autre, vous pouvez donc avoir différentes expériences de multitâche sur différents téléphones avec des spécifications similaires. Une autre variable à prendre en compte est la quantité de bloatware sur l’appareil. Les UX Android fortement modifiés comme TouchWiz ont tendance à intégrer de nombreuses fonctionnalités en plus d'Android en fonction du stock AOSP, et en tant que tel, nécessite que beaucoup plus de ressources soient allouées au système pour fonctionner au niveau souhaité par l'OEM. à. Cela laisse moins de place aux applications tierces pour être mises en cache, ce qui aggrave la perte de mémoire insuffisante.
Surtout Doux
"La principale différence entre un appareil doté de 2 Go de RAM et un appareil doté de 3 Go de RAM est que l'appareil doté de 3 Go de RAM devrait être capable de mettre en cache plus de processus en arrière-plan sans déclencher le pilote LMK pour le supprimer."
Donc, en théorie, plus de RAM disponible au niveau matériel devrait conduire à ce que davantage de processus restent mis en cache au niveau du système d'exploitation et à un plus grand pool auquel l'OEM puisse participer. Mais le plus souvent, même sur les appareils dotés de 2 Go de RAM, vous voyez beaucoup plus de RAM libre, même une fois que le système et les applications se sont verrouillés sur ce dont ils ont besoin. Voici la même galerie tirée du message de Mishaal, comparant la RAM gratuite sur différents appareils :
Comme vous pouvez le constater, les appareils dotés de l'interface utilisateur la plus légère, comme le Nexus 5 et le Nexus 6, disposent de la plus grande proportion de RAM libre disponible sur l'appareil. Même le plus lourd de tous, le Samsung Galaxy Note 5 avec 4 Go de RAM et TouchWiz pour démarrer, dispose d'environ 1,7 Go de RAM disponible pour la mise en cache des applications. Même avec un si grand pool de RAM libre, le Note 5 souffrait de problèmes multitâches où l'appareil recourait à une gestion agressive de la mémoire. Cela était dû au choix des valeurs LMK par l'OEM: injecter plus de RAM au niveau matériel n'aidera pas! Le correctif de la Note 5 pour améliorer le multitâche impliquait en fait de modifier ces valeurs LMK pour qu'elles soient plus plus convivial que les paramètres d'origine de Samsung, ce qui est ironique pour un appareil axé sur productivité. En tant que tel, le simple fait d’avoir plus de RAM ne rendra pas automatiquement l’appareil plus convivial pour le multitâche.
Pour en revenir à la galerie, une partie de la RAM libre affichée est déjà utilisée pour la mise en cache des processus d'application, mais une partie reste en fait inactive, sans rien faire. Voici quelques captures d'écran de mon OnePlus One montrant la RAM libre affichée, puis la répartition en RAM mise en cache et RAM inactive :
Même dans le petit cas d'environ 1 seconde où il m'a fallu quitter un jeu actif et sélectionner l'option permettant d'afficher les processus mis en cache, le système a travaillé pour réduire la RAM réelle utilisée. Cela s'est produit parce que le jeu, NFS No Limits dans ce cas, a connu un changement de priorité, passant d'un processus de premier plan à un processus d'arrière-plan. Cela a été fait dans le but de garantir le bon fonctionnement du système d'exploitation à tout moment, car la RAM en utilisation active est passée de 2,5 Go à 1,9 Go, tandis que le processus de jeu NFS No Limits était mis en cache. À mesure que la priorité du jeu a changé, il est désormais possible de le tuer si le système d'exploitation a réellement besoin de plus de RAM libre. Aucune interaction de l’utilisateur n’est requise ici.
Le but de cet exemple était de mettre en évidence comment la gestion de la mémoire d'Android a évolué pour être plus efficace dans la priorisation du système et de tous ses processus. Il n'y a qu'un nombre limité d'applications qui resteront en cache à tout moment: idéalement, le système d'exploitation n'utilise pas la totalité de la RAM libre dans les processus de mise en cache. Une partie de la RAM disponible reste inactive. Ceci est intentionnel, dans les cas où un processus peut avoir besoin d'augmenter très rapidement son utilisation de la RAM.
Il existe également un plafond d'allocation de RAM pour les processus d'application, tel que défini à nouveau par l'OEM pour les téléphones individuels. Selon un ancien message de discussion par Dianne Hackborn, Android Framework Engineer, il y a une limite à la Tas Java où les objets Java résideront avant le lancement du garbage collection, mais même cela peut être étendu grâce à une utilisation intelligente du NDK. En termes simples, cela signifie qu'il existe une limite maximale sur la RAM disponible pour toute application souhaitant s'exécuter sur cet appareil. Pour les appareils plus anciens, cette pile était fixée à 24 Mo, mais sur les appareils récents, la taille a été augmentée grâce à l'augmentation de la RAM des appareils ainsi qu'à l'augmentation des exigences matérielles. Android Document de définition de compatibilité pour Android 6.0 mentionne (Section 3.7) les valeurs minimales que ces tas doivent être définies par l'OEM. À titre de comparaison, mon OnePlus One sur CM12.1 se vante d'une limite de 192 Mo pour les tas de machines virtuelles Dalvik normales et autorise jusqu'à 512 Mo pour les applications qui spécifient Android: largeHeap=true dans leur manifeste d'application. Théoriquement, une seule application ne peut utiliser que 512 Mo de RAM sur mon appareil. Au-delà de cela, le garbage collection sera lancé pour maintenir la libre circulation des autres processus système nécessaires.
Combinez maintenant la limite de taille de segment pour les applications auxquelles des valeurs LMK leur sont attribuées en fonction de leur priorité et de la L'insistance du système d'exploitation à conserver une certaine quantité de RAM libre inactive, et vous pouvez imaginer à quel point le multitâche d'Android travaux. Il s'agit d'un mécanisme complexe qui implique de nombreuses variables entre le matériel, le logiciel et l'application elle-même; affiné pour permettre même aux appareils les plus basiques de fonctionner tout en permettant aux meilleurs produits phares de tirer parti de leur potentiel absolu, en théorie. En pratique, le monde actuel n’est pas parfait, donc ni l’un ni l’autre ne se produit. Cela signifie qu’il n’y a aucune garantie qu’un appareil doté de 4 Go de RAM fonctionnera de la même manière qu’un autre doté de 4 Go de RAM. Cela ne signifie pas non plus qu'un Go de RAM supplémentaire au-delà d'un certain seuil vous donnera une augmentation directement proportionnelle du multitâche et de la gestion de la mémoire.
La pratique et l'avenir
Donc, pour revenir à la question initiale, avez-vous vraiment besoin de 6 Go de RAM dans vos appareils début 2016 ? Pour moi, la réponse est non.
La majorité des appareils que je possède disposent de 3 Go de RAM LPDDR3 et l’un d’entre eux dispose de 4 Go de RAM. Et il n’y a tout simplement aucune différence notable en termes de performances en matière de multitâche. Voici une démo multitâche de ma récente revue OnePlus X, un appareil avec 3 Go de RAM et une ROM Android proche du stock :
L'appareil n'a eu aucun problème pour basculer entre 12 applications (13 si vous comptez l'enregistreur d'écran actif) sans avoir à supprimer aucune de ces applications. Il n'y a eu ni rechargement ni redessinage, et cette expérience reste étonnamment cohérente tout au long de l'utilisation quotidienne, sans aucun redémarrage ni suppression manuelle d'application. Un consommateur normal n’a tout simplement pas besoin de basculer activement entre ces nombreuses applications lors d’une utilisation pratique !
Mais que se passe-t-il si l’utilisateur souhaite plutôt basculer entre ces nombreux jeux? D’accord, les facteurs mentionnés ci-dessus entreraient en jeu pour permettre au mieux de basculer entre quelques jeux seulement. Dans de telles conditions, disposer de plus de RAM physique permettrait à l’appareil de conserver passivement plus de jeux en mémoire. Mais un contrepoint à cet avantage est que de nombreux jeux effectuent souvent un rechargement forcé lors du multitâche! Leur intention est d'éviter que les mécanismes de triche ne manipulent les données du jeu pendant que le jeu est en cours d'exécution, donc un rechargement/resynchronisation/actualisation force les contrôles d'intégrité à revenir en jeu. Leur intention est différente, mais cela fait de nombreux jeux de mauvais candidats pour effectuer plusieurs tâches simultanément.
Il existe également d’autres facteurs qui vous empêcheraient de profiter de toute cette glorieuse RAM. Si vous trouvez une tâche/plusieurs tâches combinées qui nécessitent les 6 Go de RAM LPDDR4 de votre appareil, vous vous retrouverez avec un goulot d'étranglement beaucoup plus important sous la forme du SoC mobile. Certes, le Snapdragon 820 et l'Helio X20 sont peut-être les processeurs phares de leurs sociétés respectives, mais ils restent des SoC mobiles. En tant que tels, ils ont d'autres limitations telles que la génération de chaleur, la dissipation thermique, l'étranglement thermique et la batterie. vie, ce qui en ferait de mauvais choix pour des tâches suffisamment intensives pour utiliser autant de RAM pendant une période prolongée. temps. Dans de tels cas, il est préférable d’utiliser un système qui n’est pas destiné à être tenu en main; celui qui a des limites plus libérales sur la chaleur qu’il peut générer et l’énergie qu’il peut consommer.
En fin de compte, quelle que soit la quantité de RAM disponible dont vous disposez, les applications seront toujours supprimées. C'est ainsi que fonctionne la gestion de la mémoire. Il y a toujours des avantages à utiliser beaucoup de RAM, comme une augmentation supplémentaire de la taille du tas aidera à alimenter les ressources bitmap sur des écrans à plus haute résolution, nous permettant d'aller au-delà des résolutions QHD sur nos appareils. L’augmentation de la taille du tas, tendance sur le marché, conduira à des applications capables d’aspirer à faire plus. À moins que la RAM ne soit verrouillée comme intouchable, elle aura toujours une utilité quelconque. Mais étant donné que les écrans oscillent apparemment entre 1080p et 1440p sur les produits phares, nous pourrions considérer 4 Go comme une norme raisonnable pendant encore un an ou deux.
En conclusion, nous pouvons répondre à la question: est-ce que nous vraiment besoin autant de RAM en ce moment? Non, nous ne le faisons pas. Pour les appareils dont le prix est l’un des facteurs qu’ils doivent maintenir bas, 3 Go ou 4 Go de RAM leur serviraient assez bien. Pour les produits phares dont la demande émane d'utilisateurs qui ne se soucient pas autant des prix, cela ne ferait pas de mal d'être à l'épreuve du temps. En tant que client, notez simplement que vous n’utiliserez pas encore toute cette RAM.
Que pensez-vous des téléphones dotés de 6 Go de RAM? Faites-nous part de vos réflexions dans les commentaires ci-dessous !