タスクのアクティビティスタックを表示する 質問する

タスクのアクティビティスタックを表示する 質問する

まだプラットフォームを学習している最中に、簡単な 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

おすすめ記事