systrace を使用してバインダーの通信プロセスを追跡する

systrace によってキャプチャされたトレース ログには、バインダーの通信の詳細を含む、Android システムの多くの通信プロセスが記録されます。ここでは、簡単な分析のためにトレース ログを使用します。

 赤枠: サイト名とスレッド番号。これはスクリーンショットなので反映されていません。このスレッドは system_server の 1102 1546 InputReader スレッドです。

青いボックス: 現在のスレッドのステータスが実行可能であることを示します。青い水平バーをクリックすると、より詳細な情報が表示されます。

上の赤​​いボックス内の情報は、スレッドがスリープ状態から実行可能状態に切り替わり、tid 0 によってウェイクアップされることを示しています。

緑色の水平バーをクリックすると、このスレッドが CPU5 で実行されていることがわかります。実行の開始時刻と期間。

「バインダー トランザクションの非同期」ボックス をクリックすると、バインダーの通信情報がさらに表示されます。

 次に、下のスライス列の情報をクリックして、バインダーの通信方向を確認します。

 トレースからわかるように、1546 InputReader スレッドはバインダーを通じて surfaceflinger (501) スレッドにメッセージを送信しました。

 

おすすめ

転載: blog.csdn.net/kill150/article/details/131243749