问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何查看Activity Task栈的情况

发布网友 发布时间:2022-04-29 18:26

我来回答

2个回答

懂视网 时间:2022-04-29 22:48


adb查看activity的堆栈信息

adb shell dumpsys activity 

该命令可以看到当前运行的是哪个activity,运行的一些进程等

 

看到运行的进程信息:
ACTIVITY MANAGER RUNNING PROCESSES (dumpsys activity processes)
......

看到activity 堆栈的信息:
ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities)
......

 

adb查看activity的堆栈信息

标签:

热心网友 时间:2022-04-29 19:56

有两种实现方式:

第一种:自己手动写一个程序,通过系统提供的函数来打印任务栈顶的Activity名称来判断是否是同一个Activity:

如下:

[java] view plaincopy
List<RunningTaskInfo> runningTasks = mActivityManager.getRunningTasks(5);

for (RunningTaskInfo runningTaskInfo : runningTasks) {
Log.v("taskInfo", runningTaskInfo.topActivity.toString());
}

以下是列表页的任务栈顶信息:

以下是详情页的任务栈顶信息:

很明显,两个页面不是同一个Activity.

第二种:通过adb shell mpsys activity命令:
如下:

使用cmd启动adb shell:

E:\Android_Sdk\android-sdks\platform-tools>adb shell

shell@NX601J:/ $

使用命令mpsys activity > taskinfo.txt 命令 将打印出的结果输出到taskinfo.txt文件中,方便导出到电脑查看.

1.首先在磁盘的根目录建立一个taskinfo.txt的文件:

shell@NX601J:/storage/sdcard0 $ touch taskinfo.txt

2.然后通过命令将结果输出到这个文件中:

shell@NX601J:/storage/sdcard0 $ mpsys activity > /storage/sdcard0/taskinfo.txt

命令执行完成文件中就存入了各种任务信息(只截取了部分):

这个文件中存储了非常丰富的信息:

ACTIVITY MANAGER PENDING INTENTS (mpsys activity intents)

ACTIVITY MANAGER CONTENT PROVIDERS (mpsys activity providers)

ACTIVITY MANAGER SERVICES (mpsys activity services)

ACTIVITY MANAGER ACTIVITIES (mpsys activity activities)

ACTIVITY MANAGER RUNNING PROCESSES (mpsys activity processes)

Historical broadcasts [background]:

Running activities (most recent first):

Recent tasks:

通过字面意思就可以知道是什么吧?

找到我们想要的结果:

=================================================================

这样,通过执行俩次同样的操作就可以知道是否是同一个Activity了.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我的世界手游 我的世界手机上的基岩版登录后为什么不能联机? 我的世界为什么联机进不去 联机我的世界方法 聚四氟乙烯生料带价格是多少 如何选购聚四氟乙烯带 聚四氟乙烯多少钱 路由器的用户名和密码天翼宽带zxhnf420 我想用无线上网,电信送的猫是zxhn f420,我买了个路由器是WNR500的型号... 我买的保险十年的交完了退保能退多少钱 平安你险买一年三千五买了一年想退出退回多少钱? 我买的是人寿保险交了一年想退保能退多少钱? 魔兽冰封王座的暗夜怎样灭一个简单的? 白癜风患者的饮食注意事项有哪些? 白癜风日常生活中应该注意些什么? 便秘老是不拉屎怎么办 白癜风有哪些需要注意的? 白癜风日常需要注意什么 我就这几天大便干燥,今天是第四天没拉屎了 白癜风患者日常生活中应该注意什么? 几天都不大便怎么办 白癜风病人日常生活应该注意些什么? 便秘了,几天没大便,怎么办~~ 白癜风注意事项有哪些? 便秘几天了还拉不出来怎么办,用博兰氏益生元可以吗? 得了白癜风平时要注意什么? 白癜风要注意什么有哪些禁忌 经常便秘导致五六天不大便怎么办? 什么叫小暑,什么叫大暑? 白癜风要注意什么? 异地就医备案,已经住院了再申请来得及吗? 上海医保跨省异地结算 白话...... 嫡皇孙是什么意思 唐玄宗封了广平王为谪皇孙吗? 身份证可以贷款吗,湖州低利率贷款,(湖州民间贷款 农行快e宝能随取随存吗 朱标意外病死之后,为何朱元璋会选择立皇孙朱允炆? 因贷款太麻烦,诚寻湖州及附近地区民间借款,本人用于发展农业,年息18%以内,借期两至三年,利息一年 tf家族三代应援口号是什么? 除了民间借贷,湖州有没有企业无抵押贷款? 老年人便秘好几天了,没大便怎么办??? 我是浙江湖州德清人想贷款,我哥是一个教师帮我做担保 没抵押物 本人的个人收入一年在4万的样子 农行快e宝收益率是多少 农行快e宝能随取随存吗 为了确保皇孙顺利即位,朱元璋晚年都干了哪些大事? 朱允_并不是嫡皇孙,朱元璋为何还要传位朱允_? 民初案号多久变成执行案号 自己的qq头像怎么保存 农行快e宝收益率是多少农行快e宝能随取随存吗 管家婆标准版的功能列表 农行快e宝不能实时转入的吗 求(2009)湖德商初字第52号判决 万能应援口号有哪些?