検索

ホームページ  >  に質問  >  本文

为什么Android系统会给程序的主线程自动添加Looper?

如何实现自动添加的?

大家讲道理大家讲道理2772日前642

全員に返信(2)返信します

  • PHP中文网

    PHP中文网2017-04-17 15:03:49

    Android は、プロセスのエントリ関数 ActivityThread.main() で Looper.prepareMainLooper を呼び出してアプリケーションのメイン スレッドの Looper を作成し、次に Looper.loop() を呼び出してプロセスのメッセージ ループを開始します。メッセージを処理できます。

    アクティビティスレッドのソースコード:

    リーリー

    ルーパーのソースコード:

    リーリー

    アクティビティのソースコード:

    リーリー

    参考:

    http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.1.1_r1/android/app/ActivityThread.java
    http://grepcode .com/file/repository.grepcode.com/java/ext/com.google.android/android/5.1.1_r1/android/app/Activity.java
    Android アプリケーションプロセス起動プロセスのソースコード分析 - Luo Shengyang 著
    Android_Message_Handler_Message 処理メカニズムの概要メモ

    返事
    0
  • 迷茫

    迷茫2017-04-17 15:03:49

    @li21 がとても上手に言いました。
    ところで、Looper
    を自動的に増やす方法を教えてください。HandlerThread

    を使用できます。

    返事
    0
  • キャンセル返事