まだプラットフォームを学習している最中に、簡単な Android アプリケーションの開発を始めました。
私は ADT プラグイン 0.9.6 を搭載した Eclipse IDE を使用しています。
Activity
タスクに関連付けられているスタックを表示できるかどうかを知る必要があります。
DDMS ツールや他の技術を使用する方法はありますか?
基本的に必要なのは、タスクのスタック アクティビティを確認して、アプリケーションが期待どおりに動作することを確認することです。
Intent
オブジェクト内のフラグの使用と要素のいくつかの属性を通じて、タスクの動作をある程度制御できることはわかっています<activity>
。
Activity
しかし、特にデバッグ モードなどで、開発者がスタックを直接確認できるようなツールがあれば便利です。
ベストアンサー1
コマンドラインからは以下を使用できます:adb shell dumpsys activity
これは、アクティビティ マネージャーに現在の状態のダンプを出力するように要求します。その最初の部分は、タスク別に整理された完全なアクティビティ履歴です。その後にも多くの内容が出力されるため、必要なものを見つけるには少し上にスクロールする必要があるかもしれません。
以下はその出力例です (正確な内容はプラットフォームのバージョンによって異なります)。一番上のタスクは 2 つのアクティビティを持つ連絡先で、その後ろに 1 つのアクティビティを持つランチャーが表示されています。
現在のアクティビティ マネージャーの状態のアクティビティ: * タスクレコード{44d07218 #4 A android.task.contacts} clearOnBackground=true numActivities=2 rootWasReset=true アフィニティ=android.task.contacts インテント={act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10600000 cmp=com.android.contacts/.DialtactsActivity bnds=[125,640][235,758]} origActivity=com.android.contacts/.DialtactsContactsEntryActivity realActivity=com.android.contacts/.DialtactsActivity lastActiveTime=288203177 (14秒間非アクティブ) * 履歴 #8: HistoryRecord{44b87a30 com.android.contacts/.ViewContactActivity} パッケージ名=com.android.contacts プロセス名=android.process.acore launchFromUid=10004 アプリ=プロセスレコード{44c4f348 1168:android.process.acore/10004} インテント { act=android.intent.action.VIEW dat=content://com.android.contacts/contacts/lookup/144i148.144i461a29500afc8eeb/1927 cmp=com.android.contacts/.ViewContactActivity } frontOfTask=false task=TaskRecord{44d07218 #4 A android.task.contacts} タスクアフィニティ=android.task.contacts リアルアクティビティ = com.android.contacts/.ViewContactActivity ベース=/system/app/Contacts.apk/system/app/Contacts.apk データ=/data/data/com.android.contacts ラベルRes=0x7f090012 アイコン=0x7f02006b テーマ=0x7f0e0004 stateNotNeeded=false コンポーネント指定=false isHomeActivity=false 構成={ スケール=1.0 imsi=310/4 loc=en_US タッチ=3 キー=2/1/2 ナビ=2/2 オリエン=1 レイアウト=34} resultTo=HistoryRecord{44d174d0 com.android.contacts/.DialtactsContactsEntryActivity} resultWho=お気に入り resultCode=2 launchFailed=false haveState=false icicle=null 状態=再開 停止=false 遅延再開=false 終了=false keysPaused=false inHistory=true persistent=false launchMode=0 fullscreen=true visible=true freezeBeforeDestroy=false サムネイルが必要=false アイドル=true 待機中表示=false、現在表示=true * 履歴 #7: HistoryRecord{44d174d0 com.android.contacts/.DialtactsContactsEntryActivity} パッケージ名=com.android.contacts プロセス名=android.process.acore launchFromUid=10004 アプリ=プロセスレコード{44c4f348 1168:android.process.acore/10004} インテント { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.android.contacts/.DialtactsContactsEntryActivity bnds=[125,640][235,758] } frontOfTask=true task=TaskRecord{44d07218 #4 A android.task.contacts} タスクアフィニティ=android.task.contacts realActivity=com.android.contacts/.DialtactsActivity ベース=/system/app/Contacts.apk/system/app/Contacts.apk データ=/data/data/com.android.contacts ラベルRes=0x7f090007 アイコン=0x7f02006b テーマ=0x7f0e0000 stateNotNeeded=false コンポーネント指定=true isHomeActivity=false 構成={ スケール=1.0 imsi=310/4 loc=en_US タッチ=3 キー=2/1/2 ナビ=2/2 オリエン=1 レイアウト=34} launchFailed=false haveState=true icicle=バンドル[mParcelledData.dataSize=4196] 状態=停止 停止=true 遅延再開=false 終了=false keysPaused=false inHistory=true persistent=false launchMode=2 fullscreen=true visible=false freezeBeforeDestroy=false サムネイル表示=false アイドル=true * タスクレコード{44c4ee90 #2 A com.android.launcher} clearOnBackground=true numActivities=1 rootWasReset=true アフィニティ=com.android.launcher インテント={act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10600000 cmp=com.android.launcher/.Launcher} realActivity=com.android.launcher/.Launcher lastActiveTime=214734838 (73483秒間非アクティブ) * 履歴 #6: HistoryRecord{44c4d988 com.android.launcher/.Launcher} パッケージ名=com.android.launcher プロセス名=android.process.acore launchFromUid=0 アプリ=プロセスレコード{44c4f348 1168:android.process.acore/10004} インテント { act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10000000 cmp=com.android.launcher/.Launcher } frontOfTask=true task=TaskRecord{44c4ee90 #2 A com.android.launcher} タスクアフィニティ=com.android.launcher realActivity=com.android.launcher/.Launcher ベース=/system/app/Launcher.apk/system/app/Launcher.apk データ=/data/data/com.android.launcher ラベルRes=0x7f0a0000 アイコン=0x7f020015 テーマ=0x103005f stateNotNeeded=true コンポーネント指定=false isHomeActivity=true 構成={ スケール=1.0 imsi=310/4 loc=en_US タッチ=3 キー=2/1/2 ナビ=2/2 オリエン=1 レイアウト=34} launchFailed=false haveState=true icicle=バンドル[mParcelledData.dataSize=5964] 状態=停止 停止=true 遅延再開=false 終了=false keysPaused=false inHistory=true persistent=false launchMode=2 fullscreen=true visible=false freezeBeforeDestroy=false サムネイル表示=false アイドル=true