Table des matières:
- Comment fonctionne le tueur de mémoire faible
- Comment pouvons-nous manipuler tout cela?
- LowMemKiller Geek Edition
Salut les gars! Jerry de retour avec un autre astuce que vous pouvez faire sur votre téléphone Android. Celui-ci aide à garder les choses en cours, et nous donne un certain contrôle de l'utilisateur sur le tueur de tâches interne d'Android. Comme la plupart des choses qui affectent le fonctionnement de bas niveau d'Android, celui-ci nécessite root, mais c'est une bonne lecture, même pour vous qui ne ressentez pas le besoin d'enraciner (et de casser votre garantie!), Car vous pourriez avoir une meilleure compréhension. de ce qui se passe dans les coulisses. Ouvrez quelques onglets supplémentaires dans votre navigateur, préparez votre téléphone (et peut-être même votre câble USB) et suivez la pause.
Oh, et un avertissement: ce sont des choses plutôt basses. Ce n'est pas difficile à faire, mais ce que cela fait est un peu avancé. Ne dites pas que nous ne vous avons pas prévenu.
Vous entendez maintes et maintes fois qu'Android fonctionne sur le noyau Linux. Le principal avantage de cette solution est que Linux est stable, open source et extrêmement piratable. Cela signifie que nombre de ces avantages sont également valables pour Android. Être capable de modifier le tueur de mémoire faible en fait partie. C’est quelque chose avec lequel j’ai une expérience personnelle, à la fois dure et facile. Bien que cela profite à tous les goûts d’Android, ce sont les téléphones équipés de HTC Sense qui apporteront les améliorations les plus importantes.
Comment fonctionne le tueur de mémoire faible
Lorsque votre téléphone démarre, un fichier dans l'image de démarrage (init.rc) définit les paramètres du système. Des éléments tels que le chemin d'accès aux fichiers de structure, la configuration de vos réseaux et la définition des limites selon lesquelles les programmes sont supprimés pour libérer de la RAM sont définis par ce fichier. Maintenant, un super-geek Android pourrait creuser à l'intérieur du fichier init.rc et personnaliser complètement le destructeur de mémoire, mais vous n'avez pas à le faire pour obtenir de bons résultats. Init.rc définit six "niveaux" d'applications ouvertes. Regardons-les:
- FOREGROUND_APP: Ceci est l'application en cours d'affichage et en cours d'exécution.
- VISIBLE_APP: il s'agit d'une application ouverte et s'exécutant en arrière-plan car elle continue à faire quelque chose.
- SECONDARY_SERVER: Il s'agit d'un processus (un service nécessaire à une application) qui est actif et prêt au cas où il serait nécessaire de faire quelque chose.
- HIDDEN_APP: Il s'agit à nouveau d'un processus inactif (mais toujours actif) au cas où une application en vie et en cours d'exécution en aurait besoin
Pour la plupart, nous ne voulons jamais nous ajuster lorsque ces applications et processus sont éliminés. Ce sont les éléments que les programmes que nous utilisons doivent fonctionner correctement. Pour les utilisateurs plus audacieux et plus expérimentés, il est possible de modifier les paramètres de HIDDEN_APP, mais avec BEAUCOUP d'essais et d'erreurs. Il y a deux autres paramètres, et ceux-ci sont les plus intéressants pour nous aujourd'hui:
- CONTENT_PROVIDER: il s'agit d'applications qui fournissent des données (contenu) au système. HTC Facebook Sync? C'est un CONTENT_PROVIDER. Il en va de même pour Android Market ou Fring. S'ils sont en vie, ils peuvent actualiser et fournir le contenu qu'ils sont supposés avoir à l'intervalle défini. Si vous les tuez, ils ne peuvent bien sûr pas.
- EMPTY_APP: J'appelle ces "fantômes". Ce sont des applications que vous avez ouvertes, mais dont vous avez terminé. Android utilise un style unique de gestion de la mémoire. Lorsqu'une activité est terminée, Android conserve l'application en mémoire au lieu de la tuer, de sorte que sa réouverture est un processus plus rapide. Ces applications "fantômes" ne consomment pas de temps de batterie ou de processeur, elles ne font que remplir de la RAM qui serait autrement vide. Lorsque cette mémoire est requise par une application ou un processus différent, la RAM est vidée et rendue disponible pour la nouvelle application. Pour satisfaire les geekers (comme moi), Android fait cela en conservant une liste des applications récemment utilisées, les applications les plus anciennes figurant dans la liste ayant la priorité la plus basse - elles sont tuées en premier si la RAM est nécessaire ailleurs. C'est un moyen idéal pour gérer les processus "fantômes", il n'est donc pas nécessaire de toucher à cette partie;)
Le niveau EMTY_APP est l'endroit où nous pouvons jouer à Robin Hood et obtenir des performances d'interface utilisateur. Nous volons les riches (la RAM utilisée par les applications que nous utilisons) et donnons aux pauvres (notre réserve de RAM libre). De cette façon, nous décidons quand Android ferme les anciennes applications inutilisées au lieu de laisser le système décider pour nous. Des choses comme celle-ci sont la raison pour laquelle nous enracinons.
Comment pouvons-nous manipuler tout cela?
Rappelez-vous plus tôt, j'ai dit que vous n'aviez pas à creuser dans les fichiers de démarrage cryptiques pour modifier ces paramètres? Tu vas aimer ça. Vous pouvez changer les choses avec une application du marché! Plusieurs fonctionnent, mais je préfère MinFreeManager car il est léger et ne partage aucune information personnelle, contrairement à d'autres. Voyons comment mettre en place ce mauvais garçon.
Première étape - supprimez tout gestionnaire de tâches en cours d’exécution. Ils vont seulement interférer avec ce que nous faisons aujourd'hui. Si vous ne le faites pas, nous allons tous pointer du doigt pendant que nos téléphones fonctionnent bien:)
Deuxième étape - télécharger et installer MinFreeManager
Troisième étape - ouvrez l'application. Appuyez sur le bouton de retour pour vous débarrasser du clavier (nous parlerons de la modification des chiffres que vous voyez un peu plus tôt) et appuyez sur menu> préréglages.
Choisissez "agressif". Il est inutile d'installer et d'exécuter une application de ce type sans l'exécuter à plein potentiel. Si après un jour ou deux, vous pensez rencontrer des problèmes liés à l'utilisation de ces paramètres, vous pouvez essayer de modifier légèrement les chiffres ou les modifier manuellement. Cliquez ensuite sur "Appliquer" pour définir les paramètres. Si vous souhaitez que les paramètres soient appliqués à chaque redémarrage, menu >> appliquer au démarrage se chargera de vous. Pour la plupart des gens, c'est tout. Profitez d’avoir environ 75-100 Mo de RAM libre tout le temps.
Si vous souhaitez modifier les chiffres vous-même, chaque entrée correspond au niveau de RAM libre que les applications et les processus de chaque catégorie commencent à tuer. Vous trouverez ci-dessous les paramètres par défaut pour Android.
Notez que rien n’est effacé de la RAM tant que la quantité de RAM disponible n’atteint pas 32 Mo. (Si vous m'avez écouté alors que je me tenais sur ma tribune, vous savez qu'à mon avis, SenseUI ne fonctionne tout simplement pas avec moins de ~ 40 Mo de RAM disponible). À 32 Mo ou moins, le système fonctionne correctement. commencez à tuer les "fantômes". Nous pouvons remonter dans la liste et voir que si nous obtenons un jour 14 Mo ou moins, le système peut (et va) tuer l'application que vous exécutez au premier plan.
Si vous décidez de jouer avec ces chiffres, soyez très prudent avec les quatre premiers chiffres. Faire des singeries avec celles-ci peut rendre les choses très instables et très laides. Le fournisseur de contenu (lisez-le à nouveau ci-dessus) est moins sensible, mais si vous le fixez trop haut, la synchronisation sur Facebook rendra encore plus crispée qu'elle ne l'est déjà. La section App vide est le gratuit pour tous. Le fait de définir ce paramètre sur une valeur inférieure à 96 Mo (IMO) empêche l'utilisation d'une application telle que celle-ci. Modifiez les choses, donnez-lui quelques heures pour vous installer et décidez si vous avez besoin de plus de modifications.
LowMemKiller Geek Edition
Étant donné qu'Android fonctionne sur un noyau Linux, cela signifie que les paramètres sont stockés sous forme de fichiers texte brut. vous pouvez les éditer à la volée - c'est exactement ce que font des applications comme MinFreeManager. Si vous préférez ne pas utiliser d'application tierce pour apporter ces modifications, vous pouvez facilement modifier les valeurs à partir de la ligne de commande. Lancez votre client de terminal préféré et suivez-le.
Pour vérifier les paramètres actuels du paramètre MinFree:
su
chat / sys / module / lowmemorykiller / parameters / minfree
Cela retournera une chaîne de nombres, quelque chose comme ceci:
1536, 2048, 4096, 5120, 5632, 6144
Ces chiffres sont des pages. Pour Android, une page est égale à 4 kb. Ainsi, dans l'exemple ci-dessus, les paramètres EMPTY_APP (dernier dans la liste, 6144) sont de 24 Mo. 6144 pages = 24576 kb = 24 MB. La formule serait:
Par conséquent, un réglage de 25 000 équivaudrait à environ 97 Mo (vous avez dit que c'était l'édition Geek!).
Pour un bon point de départ et un exemple de modification des chiffres, essayez ceci:
su
echo "1536, 2048, 4096, 5120, 15360, 23040"> / sys / module / lowmemorykiller / parameters / minfree
Ceci configure les choses de sorte que, chaque fois que la RAM libre tombe au-dessous de 90 Mo, les "fantômes" soient tués dans l'ordre, et si jamais la RAM tombe au-dessous de 60 Mo, CONTENT_PROVIDERS sera tué. Tout le reste est laissé sans soucis par le noyau.
Pensez-y une seconde. Ne vous souciez plus de conserver des éléments tels que clock et gmail et la liste blanche de tueurs de tâches, car nous spécifions les types d'applications et de processus pouvant être supprimés pour libérer de la mémoire.
Une fois que vous avez un ensemble de chiffres qui fonctionne bien pour vous, il est facile de simplifier le processus d’application lors du redémarrage. Oui, ces modifications disparaissent à chaque redémarrage car elles sont stockées sur un disque virtuel (le disque virtuel) qui s'efface lorsque le téléphone est éteint. Vous aurez besoin d'un éditeur de texte capable de sauvegarder des fichiers dans un format lisible par Unix. Rien fabriqué par Microsoft ne va fonctionner. Je recommande toujours Notepad ++ aux utilisateurs Windows ayant besoin d’éditer des fichiers Unix. Prenez-le et installez-le.
Ouvrez un fichier vierge et collez-y les éléments suivants:
echo "1536, 2048, 4096, 5120, 15360, 23040"> / sys / module / lowmemorykiller / parameters / minfree
bien sûr changer les paramètres par défaut à vos paramètres souhaités. Enregistrez le fichier en tant que freeram sans extension.
Connectez votre téléphone à votre ordinateur et transférez le fichier freeram vers / system / bin. Ensuite, à l'invite de la ligne de commande:
su
cd / system / bin
chmod 744 freeram
sortie
sortie
Maintenant, redémarrez votre téléphone et une fois qu'il est chargé, ouvrez votre terminal et tapez:
su
freeram
sortie
Pour définir VOS paramètres au lieu des paramètres Android par défaut. Vous devrez le faire à chaque redémarrage ou le modifier dans le fichier init.rc, qui est trop geek pour être couvert ici. Nous avons un forum pour cela.:)
Que vous préfériez la facilité ou préférez la méthode la plus hardcore, essayez-la. Il est facile de revenir en arrière, et c'est 100% gratuit.
Jusqu'à la prochaine fois,
Jerry