如何查看Activity任务栈以及dumpsys_activity命令的简要使用及介绍
今天看到淘寶客戶端的某個頁面效果,效果是在兩個Activity中做動畫,為了知道究竟是不是在同一個Activity中做的效果,就必須采取一種手段來知道是不是同一個Activity.描述一下這個動畫效果:列表頁面點擊圖片,圖片會滑動到下個頁面的頂部,這就涉及到一個問題,如何在兩個Activity之間做動畫?有什么思路嗎?
 
 
 
 
 有兩種實現方式:
 
 
第一種:自己手動寫一個程序,通過系統提供的函數來打印任務棧頂的Activity名稱來判斷是否是同一個Activity:
如下:
List<RunningTaskInfo> runningTasks = mActivityManager.getRunningTasks(5);for (RunningTaskInfo runningTaskInfo : runningTasks) {Log.v("taskInfo", runningTaskInfo.topActivity.toString());}以下是列表頁的任務棧頂信息:
以下是詳情頁的任務棧頂信息:
 
很明顯,兩個頁面不是同一個Activity.
 
如下:
使用cmd啟動adb shell:
E:\Android_Sdk\android-sdks\platform-tools>adb shell
 shell@NX601J:/ $
 
 
使用命令dumpsys activity > taskinfo.txt 命令 將打印出的結果輸出到taskinfo.txt文件中,方便導出到電腦查看.
 
1.首先在磁盤的根目錄建立一個taskinfo.txt的文件:
shell@NX601J:/storage/sdcard0 $ touch taskinfo.txt
 
 
2.然后通過命令將結果輸出到這個文件中:
shell@NX601J:/storage/sdcard0 $ dumpsys activity > /storage/sdcard0/taskinfo.txt
 
 
命令執行完成文件中就存入了各種任務信息(只截取了部分):
這個文件中存儲了非常豐富的信息:
 
ACTIVITY MANAGER PENDING INTENTS (dumpsys activity intents)
 
ACTIVITY MANAGER CONTENT PROVIDERS (dumpsys activity providers)
ACTIVITY MANAGER SERVICES (dumpsys activity services)
 
ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities)
 
ACTIVITY MANAGER RUNNING PROCESSES (dumpsys activity processes)
Historical broadcasts [background]:
Running activities (most recent first):
 
Recent tasks:
通過字面意思就可以知道是什么吧?
 
找到我們想要的結果:
 =================================================================
 
這樣,通過執行倆次同樣的操作就可以知道是否是同一個Activity了.
 
有什么疑問的歡迎留言
 
總結
以上是生活随笔為你收集整理的如何查看Activity任务栈以及dumpsys_activity命令的简要使用及介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 事理逻辑为核心的自然语言处理理论实践与工
- 下一篇: 【JavaWeb】数据库基础复习
