13 votes

Comment accélérer Android au démarrage ?

Je regarde le temps de démarrage d'Android sur mon appareil embarqué et j'essaie de voir où je peux gagner du temps.

1) Quelles sont les mesures que vous avez prises pour accélérer le temps de démarrage ?

Jusqu'à présent, j'ai examiné le temps d'animation au démarrage. Si je supprime l'animation de démarrage, j'économise environ 6 secondes, ce qui me semble beaucoup. Ensuite, j'ai remplacé l'animation de démarrage par une seule image qui sera affichée pendant toute la durée de l'animation de démarrage, ce qui a fait perdre tout le temps gagné précédemment. Mais le processus d'animation de démarrage proprement dit ne prenait qu'environ 1 seconde. (J'ai joint une image générée avec Bootchart, pour l'instant sur un émulateur).

2) Cela vaut-il la peine de regarder le temps d'animation au démarrage d'Android ? Un indice sur la raison pour laquelle le processus d'animation de démarrage affecte le temps de démarrage de manière si étrange ?

Je vous remercie pour le temps que vous m'avez accordé.

Bootchart bootup time visualization with 1 image as the bootup animation

2voto

Deux étapes pour accélérer le démarrage du noyau Linux :

  1. Configurer le noyau Linux avec un ensemble minimal de pilotes de périphériques, c'est-à-dire uniquement les pilotes nécessaires au démarrage et au chargement du système de fichiers racine. Chaque pilote, système de fichiers ou sous-système qui peut être construit en tant que module (que vous voulez dans le noyau mais qui n'est pas utilisé pendant le démarrage) doit être configuré en tant que module plutôt que d'être lié statiquement.

    Pour connaître le temps de chargement des pilotes au démarrage, il faut modifier la ligne de commande du noyau avec l'option "initcall_debug" . Ceci aura pour effet d'imprimer sur la console des informations sur le temps pour chaque initcall . initcalls sont utilisés pour initialiser les pilotes et les sous-systèmes du noyau liés de manière statique et contribuent de manière significative au processus de démarrage de Linux. La reconfiguration de tous les pilotes inutiles en modules chargeables réduira ce temps de démarrage de initcall de l'heure de démarrage du noyau.

  2. Modifier la ligne de commande du noyau avec l'option "calme" . Cela désactivera la plupart des messages de logs envoyés à la console. Bien sûr, cela ne devrait être fait qu'après avoir obtenu un noyau stable.

D'autres techniques sont aquí

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