Android 11.0フレームワークにおける起動プロセス中にランチャーが起動されるかどうかを監視するソースコード分析

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が自身のメッセージキューに追加されます。

3.1 アクティビティスルー

おすすめ

転載: blog.csdn.net/baidu_41666295/article/details/131504680