Le démarrage d'Android est lent ?
Mon téléphone a un Quad Core, 3 Gig de RAM ... Android (KitKat et Lollipop) prend environ 80 secondes pour démarrer.
Mon téléphone n'est qu'un dual core avec 1G de RAM (Zenfone 4) et je n'ai jamais eu ce problème. Démarrage à froid en ~60 secondes, redémarrage en 40 environ (CyannogenMod 12.1).
certains utilisateurs rapportent un temps de démarrage de moins de 10 secondes en utilisant Ubuntu avec systemd et d'autres 20 secondes ...
Cela dépend de la configuration et de ce que vous avez considéré "temps de démarrage" . Mon ordinateur portable (i5 1ère génération, 4 Go de RAM avec disque rotatif) est considéré comme utilisable (ayant fini de démarrer) après environ 90 secondes. Bien sûr, je peux retarder/désactiver certains des services pour obtenir un temps de démarrage plus rapide et les démarrer manuellement si nécessaire. Mais de mon point de vue, basé sur ma préférence, cela ne compte pas comme utilisable .
Sur le PC et le mobile
Il y a un peu de différences à prendre en compte lors de la comparaison entre linux PC et linux mobile. de CPU jusqu'à la Noyau . Les différences les plus notables :
- En raison de la nature de l'appareil, l'unité centrale mobile principalement conçu avec la conservation de l'énergie comme principale considération. Cela affecte grandement les performances.
- Les noyaux Android ont fonctions spécifiques aux mobiles dont mai affectent le temps de démarrage et l'accès aux entrées/sorties du matériel.
- De plus, le noyau Android est connu pour avoir des problèmes de compatibilité avec mainline/stable. Cela est principalement dû à la préférence des fournisseurs de s'en tenir à l'ancienne version du noyau qui est compatible avec les pilotes de leurs appareils. AOSP Marshmallow fonctionne
3.18.10
alors que le noyau stable est actuellement à 4.6.2
.
Alors, qu'est-ce qui rend le démarrage d'Android si lent ?
Pourquoi ne pas vérifier ? :)
Si vous avez accès à adb et permettent déjà Options pour les développeurs Vérifiez le journal de démarrage en utilisant
adb logcat -d -b events -v threadtime | grep "boot"
sur mon appareil, voici le résultat :
bambang@pamungkas ~ % adb logcat -d -b events -v threadtime | grep "boot"
06-08 04:35:01.417 193 193 I boot_progress_start: 9906
06-08 04:35:03.718 193 193 I boot_progress_preload_start: 12208
06-08 04:35:07.838 193 193 I boot_progress_preload_end: 16328
06-08 04:35:08.158 513 513 I boot_progress_system_run: 16647
06-08 04:35:09.880 513 513 I boot_progress_pms_start: 18370
06-08 04:35:10.204 513 513 I boot_progress_pms_system_scan_start: 18693
06-08 04:35:24.487 513 513 I boot_progress_pms_data_scan_start: 32977
06-08 04:35:28.552 513 513 I boot_progress_pms_scan_end: 37042
06-08 04:35:28.696 513 513 I boot_progress_pms_ready: 37186
06-08 04:35:33.088 513 513 I boot_progress_ams_ready: 41578
06-08 04:35:40.755 513 533 I boot_progress_enable_screen: 49244
Comme vous pouvez le voir, le temps total de démarrage du démarrage de la VM jusqu'au dessin initial de l'écran par le gestionnaire de fenêtres est de ~40 secondes. Le temps supplémentaire sur le firmware et l'espace noyau (sur votre asnwer lié, cela se traduit par les étapes 1-4) n'est pas inclus.
Notez qu'il faut ~18 secondes pour traiter l'ensemble des données du système. apk ( boot_progress_pms_*
), cela se traduit par ~45% du temps de démarrage, qui comprend :
- nettoyage des paquets système inexistants et installation incomplète des paquets,
- la validation des applications installées,
- paramétrage du chemin de la bibliothèque,
- etc (voir : le code source complet de PackageManagerService )
Donc, en général, le temps de démarrage total dépend du nombre de paquets (app) installés sur l'appareil. Plus il y a d'applications, plus l'attente est longue pendant le processus de pms. De plus, le démarrage des activités prend ~5 sec / 20% du temps de démarrage. Le reste n'est ni significatif ni modifiable sans une connaissance approfondie du comportement du système.
Y a-t-il quelque chose que je puisse faire pour accélérer le processus de démarrage ?
- Essayez une autre ROM. Sony est l'un des "bons gars" qui fournissent un environnement sain pour les tweakers. Je recommande AOSP o Cyanogen . Soyez juste conscient de la limitations
- Testez, ne supposez pas ! Il est facile de faire des suppositions qui A démarrage lent, B est plus rapide. Une simple commande logcat comme ci-dessus révélerait des informations utiles pour un benchmarking basique du temps de démarrage entre ROMs.
-
Si vous savez ce que vous faites , Embedded Linux Wiki ont une liste de modifications possibles pour améliorer le temps de démarrage.
Amélioration du temps de démarrage
Sur votre commentaire
ART a été conçu pour accélérer l'exécution des applications. Qui travaille sur une solution pour accélérer le démarrage ? hors des sentiers battus ?
À mon avis, il est inutile de modifier le temps de démarrage et les gains sont insignifiants. Puisque votre téléphone va, théoriquement Il est beaucoup plus important de maintenir la stabilité du système (en contrepartie d'un processus de démarrage plus long) pour garantir un temps de fonctionnement plus élevé et moins d'erreurs.
0 votes
De nombreuses personnes utilisent Xposed pour faire le travail. Je suppose qu'il vous faut chercher sur Google. Peut-être que quelqu'un d'autre peut les mentionner.
0 votes
@Firelord Je n'utilise qu'une seule ROM. Les deux, bien que fonctionnant sur ordinateur de bureau et sur téléphone, dépendent d'un noyau similaire, voire semblable (simplement compilé pour des architectures différentes). J'utilise actuellement la version 5.1.1. Je l'utilise depuis la 4.0 et la vitesse de démarrage n'a jamais augmenté. Même avec une vitesse de démarrage fraîchement installée comparée à celle de mes applications complètes chargées, il n'y a pas de différence de temps significative. En utilisant le démarrage automatique, quelle est la vitesse de démarrage de votre téléphone ? Au fait, je suis sur un xperia z2.
0 votes
Xposed ne fonctionne pas sur les téléphones non rootés, si j'ai bien compris ?
1 votes
Ce qui me préoccupe, c'est davantage le fait qu'Android soit prêt à l'emploi. Il est lent. Il est vrai qu'ARM n'est pas proche des processeurs des PC, mais vu la vitesse dont la plupart des téléphones sont équipés de nos jours, je m'attendais à ce que les temps de démarrage s'améliorent, mais ce n'est pas le cas. ART a été conçu pour accélérer l'exécution des applications. Qui travaille sur un processeur qui accélère le démarrage ? en dehors de la boîte ?
1 votes
Je ne suis pas convaincu qu'il s'agisse d'un ARM car mon Chromebook beaucoup plus ancien basé sur un ARM démarre immédiatement et je veux dire que c'est presque littéralement.