7 votes

Pourquoi mon appareil Android ralentit-il après des mises à jour successives de ROM sans effacement ?

Je possède un Galaxy Nexus Verizon de 32 Go (toro). Je suis sous ROM nightly Cyanogenmod 10.1 et j'utilise CyanDelta Updater pour rester à jour.

Pendant environ 3 semaines, j'ai mis à jour la version nightly la plus récente presque tous les jours en utilisant CyanDelta. Parfois, je téléchargeais la ROM complète au lieu d'utiliser CyanDelta. Pendant ce temps, je n'ai jamais effacé l'appareil (aka réinitialisation aux paramètres d'usine). J'appliquais simplement la nouvelle version par-dessus l'ancienne.

Récemment, les performances de mon téléphone se sont considérablement dégradées. Il y avait de longs retards pour déverrouiller, de longs retards pour basculer entre les applications, de longs retards pour faire à peu près tout. Le téléphone se bloquait, et le système d'exploitation demandait si je voulais mettre fin à un processus car il ne répondait pas. Mon lecteur de podcasts bégayait pendant la lecture.

Au lieu de passer à une autre ROM, j'ai décidé de d'abord faire un effacement complet (réinitialisation aux paramètres d'usine). J'ai utilisé Titanium Backup pour sauvegarder mes applications utilisateurs et mes données. Dans TeamWin Recovery, j'ai fait une réinitialisation d'usine, flashé la même version CM 10.1 nightly que j'utilisais auparavant, restauré mes applications avec Titanium, connecté à mes comptes, etc.

Les performances de mon téléphone ont été complètement restaurées. C'est comme le jour et la nuit.

Ma question est : Pourquoi cela a-t-il fonctionné ? Qu'est-ce qui, dans l'application de versions successives de ROM, pourrait causer un ralentissement qu'un effacement résoudrait ?

J'aime mon nouveau niveau de performance, mais j'aime aussi rester à jour avec les dernières versions. Il semblerait que je ne puisse pas avoir le beurre et l'argent du beurre. Maintenant, j'hésite à flasher des mises à jour sans faire d'effacement complet.

0 votes

J'ai le même problème, et j'ai simplement supposé que c'était des bugs ou autre chose.

1 votes

Parfois, au lieu d'un effacement complet, un effacement du cache Dalvik pourrait également résoudre ce problème (c'est là que réside le code pré-compilé des applications, qui serait alors simplement régénéré au démarrage), peut-être est-il devenu trop fragmenté.

0 votes

CyanDelta prétend effacer automatiquement le cache Dalvik à chaque mise à jour. Donc ce n'est probablement pas la solution.

4voto

Jeremy Holt Points 370

J'ai moi-même trouvé une réponse potentielle: TRIM

Les disques à semi-conducteurs (SSD) et certaines mémoires flash nécessitent que le système d'exploitation effectue une sorte de tâche d'entretien pour maintenir l'efficacité du dispositif.

La commande du système d'exploitation TRIM est expliquée dans cet article d'AnandTech:

Son applicabilité à certains appareils Android, y compris mon Samsung Galaxy Nexus et ASUS Nexus 7, est expliquée dans ces fils de discussions de XDA Developers:

Un membre de XDA a créé une application appelée LagFix qui prétend exercer la fonction de maintenance TRIM, restaurant ainsi les performances d'écriture du dispositif.

Étant donné que j'ai récemment effectué une réinitialisation d'usine complète, je n'ai plus de problèmes de performance et je ne peux donc pas confirmer directement les avantages prétendus de LagFix. Si je me retrouve dans une situation où les performances sont en baisse, je pourrais effectuer des tests pour voir si LagFix améliore la situation.

Sachez que si vous envisagez d'essayer LagFix, il y a des appareils avec des puces qui ne fonctionnent PAS bien avec cet utilitaire. Ces puces sont affectées par ce qu'on appelle un BrickBug et, si vous exécutez LagFix sur l'un de ces appareils, vous rendrez votre appareil inutilisable de façon irréversible.

Je vous recommande vivement de suivre les conseils et de lire la FAQ de LagFix. Elle renvoie à un utilitaire qui peut vous indiquer si votre appareil contient une puce qui pourrait être affectée par le BrickBug.

0 votes

Je vais accepter ma propre réponse ici avec une réserve "fonctionne pour moi". Depuis la mise en place d'une opération TRIM nocturne en utilisant LagFix, mes performances sont restées acceptables (pour moi). J'ai continué à flasher les nightlies de CM 10.1.

0 votes

Mise à jour: Selon AnandTech, Android 4.3 apporte TRIM à tous les appareils Nexus. Cela semble renforcer ma réponse ci-dessus. anandtech.com/show/7185/…

1voto

Cyborgz Points 336

Pour répondre à votre question, j'aimerais citer quelque chose appelé Dalvik VM et le système de fichiers Android.

Le système de fichiers Android aurait les partitions suivantes (comme c'est courant dans la plupart des appareils), \system \boot \data \cache

Chaque fois que vous installez une nouvelle ROM, les fichiers correspondants sont déplacés vers les partitions correspondantes.

Lorsque vous installez une nouvelle ROM sans effacer, les fichiers de toutes les partitions seront remplacés (si des fichiers portant les mêmes noms existent) et certains des anciens fichiers peuvent rester comme des débris.

\Cache \Data

Les deux partitions ci-dessus sont spécifiques à la ROM, chaque fois que de nouvelles applications sont installées, les données temporaires et leur cache sont créés et stockés dans les partitions respectives. Lorsque vous effacez, les anciennes données et les éléments de cache seront effacés.

Toutes les applications Android sont optimisées en dex (.odex) pour s'exécuter dans la machine virtuelle dalvik (similaire à Java VM). Ces éléments doivent être effacés lors du passage à des ROM différentes.

Quelques informations sur dalvik - http://en.wikipedia.org/wiki/Dalvik_%28software%29

0 votes

Comme mentionné ci-dessus, la méthode de mise à jour que j'utilise efface automatiquement le cache Dalvik.

1voto

Jeremy Holt Points 370

TL; DR - J'ai restauré les performances de mon ASUS Nexus 7 16 Go de 2012 en supprimant plusieurs Go de fichiers inutiles.

Récemment, j'ai résolu un problème de performances sur mon ASUS Nexus 7 (16 Go, première génération) en utilisant une solution non liée à la solution LagFix / TRIM décrite ci-dessus. Bien que LagFix semble avoir résolu le problème sur mon Verizon Galaxy Nexus (les performances restent excellentes à ce jour), j'ai continué à rencontrer des performances vraiment terribles et inacceptables sur mon ASUS Nexus 7.

Mes recherches ont montré que si la mémoire du Nexus 7 est "trop pleine", les performances se dégradent considérablement. Mon appareil avait 3 Go de mémoire libre, donc j'étais sceptique quant au fait que mon Nexus 7 était "trop plein".

J'ai utilisé l'excellent utilitaire DiskUsage pour inspecter le contenu de ma mémoire flash de 16 Go afin de voir si je pouvais libérer de l'espace. J'ai découvert un fichier vidéo que j'avais regardé depuis longtemps et oublié, consommant plusieurs Go d'espace.

J'ai supprimé le fichier vidéo, plusieurs anciennes sauvegardes Nandroid et Titanium dont je n'avais plus besoin, et supprimé quelques Go de podcasts inutiles. Cela a libéré plusieurs Go sur l'appareil.

Les performances de mon Nexus 7 sont maintenant excellentes. Il se sent comme neuf.

0 votes

Votre performance s'est-elle améliorée immédiatement? Je viens de supprimer des applications et des fichiers pour passer d'environ 1,7 Go de libre à 6,7 Go de libre. J'ai l'impression que certaines parties du système sont légèrement plus rapides, mais dans l'ensemble, de nombreuses choses sont toujours aussi lentes qu'auparavant.

0 votes

Il s'est passé plus d'un an depuis que j'ai écrit ce qui précède, et je crains de ne pas me souvenir si les performances se sont améliorées "immédiatement", désolé. De plus, il y a eu de nombreuses améliorations dans les versions plus récentes d'Android. 5.0 Lollipop est maintenant disponible et devrait être disponible pour la ASUS Nexus 7 de 2012. Je ne possède plus cet appareil, donc je ne peux pas aider davantage sur la ASUS Nexus 7 de 2012.

0voto

Travis Bradshaw Points 2255

J'ai essayé de vider le cache Dalvik mais ça n'a pas marché, puis j'ai essayé de vider toutes les données et de réinstaller CyanogenMod 11 mais ça n'a pas marché non plus. Ensuite, j'ai trouvé une solution en utilisant CPU MASTER (disponible sur le Play Store) nous pouvons définir la fréquence de notre CPU au maximum pour un temps permanent et Bloom le résultat était incroyable. Je le recommande à tout le monde. Mais cela nécessite des droits root donc.....

0 votes

Bonjour Onkar et bienvenue sur Android Enthusiasts! :) Alors que votre réponse a du sens, elle ne traite pas le problème central de la question. Le réglage des fréquences du CPU se traduira probablement toujours par de meilleures performances, mais ce n'est pas ce qu'il faut faire ici. Pensez également à surveiller votre autonomie de batterie désormais :)

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X