Comment accélérer Android pendant le démarrage?

13

Je regarde l'heure de démarrage d'Android sur mon appareil intégré et j'essaie de savoir où je peux gagner du temps.

1) Quelles sont les choses que vous avez faites pour vraiment accélérer le démarrage?

Jusqu'à présent, j'ai regardé le temps d'animation de démarrage. Si je supprime l'animation de démarrage tous ensemble, j'économisais environ 6 secondes, ce qui me semblait beaucoup. Ensuite, j'ai remplacé l'animation de démarrage par une seule image qui sera affichée pendant la durée de l'animation de démarrage et qui a perdu tout gain de temps précédent. Mais le processus d'animation de démarrage réel ne prenait que ~ 1 seconde pour s'exécuter. (J'ai joint une photo générée avec Bootchart. Pour l'instant juste sur un émulateur)

2) Vaut-il la peine de regarder le temps d'animation de démarrage Android? Une idée de pourquoi le processus d'animation de démarrage affecte si étrangement le temps de démarrage?

Merci pour votre temps.

Visualisation du temps de démarrage de Bootchart avec 1 image comme animation de démarrage

Couler
la source

Réponses:

2

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

  1. Configurez le noyau Linux avec un ensemble minimal de pilotes de périphériques, c'est-à-dire que seuls les pilotes doivent démarrer et charger le système de fichiers racine. Chaque pilote, système de fichiers ou sous-systèmes qui peut être construit en tant que module (que vous souhaitez dans le noyau mais non utilisé au démarrage) doit être configuré en tant que module plutôt que lié statiquement.

    Pour voir combien de temps est utilisé pour charger les pilotes lors du démarrage, vous devez modifier la ligne de commande du noyau avec l'option "initcall_debug" . Cela entraînera l'impression des informations de synchronisation sur la console pour chaque appel initial . Les appels init sont utilisés pour initialiser les pilotes et sous-systèmes du noyau liés statiquement, et contribuent considérablement au processus de démarrage Linux. Reconfiguration des pilotes non nécessaires à des modules chargeables soustraira que initcall temps à partir du moment de démarrage du noyau.

  2. Modifiez la ligne de commande du noyau avec l'option "silencieux" . Cela désactivera la plupart des messages de sortie vers la console. Bien sûr, cela ne devrait être fait qu'après avoir un noyau stable.

Plus de techniques sont ici


la source