Androidの起動が遅い?
私の電話にはクアッドコア、3ギガのRAMが搭載されています。
私の電話は1G RAM(Zenfone 4)を搭載したデュアルコアのみで、私はその問題を抱えていません。約60秒でコールドブートし、40インチで再起動します(CyannogenMod 12.1)。
一部のユーザーは、systemdでUbuntuを使用した場合の起動時間が10秒未満であり、20秒程度であると報告しています...
これは、構成および「ブート時間」と見なしたものによって異なります。私のラップトップ(i5第1世代、4 GB RAM、回転ディスク付き)は、約90秒後に使用可能(起動が完了)と見なされます。もちろん、一部のサービスを遅延/無効にして、起動時間を短縮し、必要に応じて手動で開始することができます。しかし、私の見解では、私の好みに基づいて、それは使用可能とは見なされません。
PCとモバイル
PCとモバイルLinuxを比較する際に考慮すべきいくつかの違いがあります。CPUのダウンにカーネル。最も顕著な違い:
- デバイスの性質上、モバイルCPUは主に省電力を主な考慮事項として設計されています。これはパフォーマンスに大きく影響します。
- Androidのカーネルいくつか持っているモバイル特有の機能もアクセスO / I起動時間やハードウェアに影響を及ぼします。
- さらに、メインライン/安定版との互換性の問題があることがわかっているAndroidカーネル。これは主に、ベンダーがデバイスドライバーと互換性のある古いカーネルバージョンを使用することを優先しているためです。AOSPマシュマロは
3.18.10
、安定したカーネルが現在にあるときに実行され4.6.2
ます。
では、Androidの起動が非常に遅くなるのはなぜですか?
どうしてチェックしないの?:)
adbにアクセスでき、すでに開発者オプションを有効にしている場合は、次を使用してブートログを確認します。
adb logcat -d -b events -v threadtime | grep "boot"
私のデバイスでは、これは出力です:
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
ご覧のように、VMの起動からウィンドウマネージャーによる最初の画面描画までの合計起動時間は約40秒です。ファームウェアとカーネルスペースの追加時間(リンクされたasnwerでは、これはステップ1〜4に変換されます)は含まれていません。
システム全体のapk(boot_progress_pms_*
)の処理に最大18秒かかることに注意してください。これは、起動時間の最大 45%に相当します。これには以下が含まれます。
そのため、一般的に、総起動時間はデバイスにインストールされているパッケージ(アプリ)の数に依存します。アプリが多いほど、pmsプロセスの待機時間が長くなります。さらに、アクティビティの開始には、起動時間の5%/ 20%かかります。残りは重要ではなく、システムの動作に関する深い知識がなければ安全に変更できません。
起動プロセスを高速化するために私にできることはありますか?
- 他のROMを試してください。ソニーは微調整のための健康的な環境を提供する「善良な人」の一人です。私はAOSPまたはCyanogenをお勧めします。制限に注意してください
- テスト、仮定しないでください!Aの起動が遅く、Bの方が速いと仮定するのは簡単です。上記のような簡単なlogcatコマンドは、ROM間の基本的な起動時間のベンチマークに役立つ情報を明らかにします。
- 何をしているのかわかっている場合、Embedded Linux Wikiには、起動時間を改善するために可能な調整のリストがあります。
起動時間の改善について
あなたのコメントについて
ARTはアプリの実行を高速化するように設計されています。箱から出してすぐに起動するために誰が取り組んでいますか?
私の意見では、ブート時間を微調整することは不必要であり、取るに足らない利益をもたらします。お使いの携帯電話は、理論的には、ほとんどの時間アップします。より長い稼働時間とより少ないエラーを保証するために、システムの安定性を維持する(より長いブートプロセスのトレードオフを伴う)ことははるかに重要です。