0

私が取り組んでいるいくつかのクラッシュの近くで、次のログ メッセージを見てきました。

>>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<

これは正確にはどういう意味ですか?明らかに「AndroidRuntime」が起動していることを意味しますが、それは何ですか? アプリが起動していることを意味すると思っていましたが、アプリを起動するたびに表示されるわけではありません。一体何始まっているのでしょうか?

前もって感謝します...

4

1 に答える 1

2

これは、仮想マシンのインスタンスが新しいプロセスで起動されていることを意味します。

通常、これは少なくとも3 つのケースで発生します。

1) システム自体が起動し、VM が「zygote」になるプロセスを開始するとき - すべてのアプリ プロセスの親。その後、アプリこれを最初から再起動するのではなく、Zygote からフォークされた初期化済みのプロセスを取得するため、デバイスが再起動するか、Android フレームワークが再起動する場合にのみ、これからのメッセージが表示されます。

2) システムが特別なモードで vmをゼロから起動して dexopt し、そうでなければ新しくインストールされた apk を処理するとき

3) さまざまなツールが vm の一時インスタンスを起動して、Java コードからコンパイルされたコードを実行し、特定の Java 専用 API にアクセスする場合。たとえば、「am start」はインテントを起動するためにこれを行います。これは、テスト用に新しくインストールされたアプリケーションの起動に関係している可能性があります。

実行するレポート ツールの 1 つに Java コードが組み込まれていて、Zygote の子ではない場合、ある種のクラッシュの後に同様の理由で発生する可能性もあります。

于 2014-07-16T20:38:13.083 に答える