私は自分自身に Android を教えようとしてきましたがActivity
、自分のコードで同じインスタンスを複数作成していることを知りました。概念的には存在することはわかっていますが、複数のインスタンスを作成したことを確認するために使用できるツール (DDMS など) はありますか?
Intent
これは、フラグを使用した実験が機能しているかどうかを確認するのにも役立ちます。
私は自分自身に Android を教えようとしてきましたがActivity
、自分のコードで同じインスタンスを複数作成していることを知りました。概念的には存在することはわかっていますが、複数のインスタンスを作成したことを確認するために使用できるツール (DDMS など) はありますか?
Intent
これは、フラグを使用した実験が機能しているかどうかを確認するのにも役立ちます。
次のコマンドを使用して、現在のアクティビティ スタックを視覚化できます。
adb shell dumpsys activity
次のようなものが表示されます。
Running activities (most recent first):
TaskRecord{40538e50 #164 A com.xxx}
Run #3: HistoryRecord{xxxx com.xxx/.activities/xxx}
Run #2: HistoryRecord{xxx com.xxx/.activities/xxx}
Run #1: HistoryRecord{xxx com.xxx/.activities/xxx}
TaskRecord{40a89008 #48 I com.android.htcdialer/.Dialer}
Run #0: HistoryRecord{409d91d0 com.android.htcdialer/.Dialer}
いくつかのリソース:
Romain Guy によるAndroid ツール。(講演全体は ADB とそれを使って何ができるかについてではありませんが、彼が多くのデバッグ ツールを紹介および実演しているので、少し時間をとって見る価値があります)。
if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
// Activity was brought to front and not created,
// Thus finishing this will get us to the last viewed activity
finish();
return;
}