1 はじめに
11.0のシステム開発において、システム起動段階で、最初の起動アニメーションが再生された後、一部の製品で黒い画面が表示される問題を解決するには、現在のランチャーが起動されているかどうかを判断する必要があります。を実行し、
関連する処理を行ったら、次にランチャーが起動したかどうかのソースコード解析を行ってみましょう
2. フレームワークの起動処理中にランチャーが起動されるかどうかを監視するソースコード解析のコアクラス
frameworks/base/core/java/android/app/ActivityThread.java
frameworks/base/services/core/java/com/android/server/am/ActivityTaskManagerService.java
frameworks/base/services/core/java/com/android/server/am/ActivityStackSupervisor.java
frameworks/base/core/java/android/os/MessageQueue.java
3. フレームワークの起動処理中にランチャーが起動するかどうかを監視する機能解析とソースコード解析の実装
Android システムでは、システムの起動プロセスにおいて、AMS (ActivityManagerService.java) が主に Launcher の起動を担当します。Launcher の起動後、つまり、Activity onResume の後、起動完了ブロードキャストを送信します。現在のシステムの起動が完了しました
。LauncherのActivityのonResumeメソッド内で
handleResumeActivityメソッドが実行され、handleResumeActivityにウィンドウがロードされた後、自身が実装したIdleHandlerが自身のメッセージキューに追加されます。