问题标签 [dumpsys]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 为什么“dumpsys 活动顶部”在其输出中列出“片段”,而我没有使用片段?
SecondActivity
唯一的布局很简单,在ContentView
它的onCreate()
方法中设置:
而且activity_second.xml
是:
但是当我dumpsys
用来转储最重要的活动时,它会Fragment
在输出中列出一个未知数(“ReportFragment”):
为什么输出显示ReportFragment
在“Active Fragments”和“Added Fragments”中,而我没有使用任何Fragment
?
python - 使用 python 脚本从设备获取 fps
我正在尝试使用他的脚本https://medium.com/@dtmilano/analyzing-android-ui-performance-52beb577c421从 dtmilano 获取 fps 的绘图图
但我在 cmd 中得到了这个
C:\Users\PSeebee>python C:\Users\PSeebee\Desktop\gfxinfo-plot.py com.intel.nflmlpdemo
Traceback (most recent call last):
File "C:\Users\PSeebee\Desktop\gfxinfo-plot.py", line 23, in <module>
Plot().append(Dumpsys(device, Dumpsys.GFXINFO, pkg, Dumpsys.FRAMESTATS)).plot(_type=Dumpsys.FRAMESTATS)
File "C:\Python27\lib\site-packages\com\dtmilano\android\adb\dumpsys.py", line 62, in __init__
self.parse(adbclient.shell(cmd), subcommand, *args)
AttributeError: 'tuple' object has no attribute 'shell'
我已经安装了带有 androidviewclient 15.8.1(最新)的 python 2.7.18,我的路径集(我认为),安装了 sdk 的 adb。我唯一遇到的问题是 sdk 中的“工具”文件夹不在它的目录中。
我该怎么做才能让它工作?我需要编辑 dumpsys.py 吗?
android-memory - android,如何以编程方式使用“dumpsys meminfo”
想以编程方式使用“dumpsys meminfo”打印出应用程序在某些时间点的内存使用情况,
添加<uses-permission android:name="android.permission.DUMP" />
,并使用以下代码在模拟器上进行测试,但出现异常:“java.io.IOException:无法运行程序“adb”:错误 = 13,权限被拒绝”
android - Android 设备 FPS 计算
我正在使用gfxinfo计算应用程序 FPS,但显然这不适用于游戏,因为它们不使用 UIKit 进行绘图。我尝试使用 SurfaceFlinger,但不知何故它不提供任何帧信息,只提供刷新周期。问题是,如何使用 adb 命令计算 Android 设备上的应用和游戏 FPS?提前非常感谢!
python - adb shell dumpsys 窗口窗口输出未显示 mCurrentFocused
我在用
命令,但输出未显示 mCurrentFocused 使用虚拟设备 Nexus 6P API 30 请帮助我或替代命令
android - 如何使用 Android dumpsys framestats
我想测量我的 Android 增强现实应用的 FPS。我正在尝试遵循使用 dumpsys framestats 的文档。
这是我的程序:
- 通过 USB 将设备 (Galaxy Tab S5e) 连接到计算机 (MacBook Pro)
- 启动程序
- 打开终端并输入
adb shell dumpsys gfxinfo <PACKAGE_NAME> framestats
我得到结果。文档说我应该得到一些 CSV 数据(我这样做了)。这里是:
首先,为什么只有两行,如果:
“此输出的每一行代表应用程序生成的一帧”
如果我等待然后重新运行命令,我再次只得到 2 行。有时值已更新,但有时它们没有...
文档说我可以计算帧时间:
所以,我想我可以在说 1 分钟后运行 ADB 命令,输出大量帧时间然后绘制它,但是如果我一次只输出 2 帧......并且如果重新运行 ADB 命令没有更新数据...如何测量帧时间?我在这里想念什么?
adb - 如何在android adb中访问当前和焦点窗口
我正在使用 Android API 30 adb
但它没有显示 mCurrentFocused 和 mFocused 应用程序
请帮帮我
android - ADB dumpsys View Hierarchy - 试图理解视图输出(例如:V.ED..C.. ......I.)
所以当你运行命令时:
它将一大堆有趣的输出转储到屏幕上,其中一个部分是“视图层次结构”部分,它显示了一个可爱的嵌套视图层次结构,每一行都包含一个 android 视图或 ViewGroup。
这是一个示例行:
构成这条线的大多数位都是有意义的......
- androidx.appcompat.widget.AppCompatImageView = 视图类
- 43dece0 = 视图的哈希码(或任何正确的名称)
- app:id/my_button = 视图 ID
- 0,0-0,0 = 视图的边界(我假设从左上角到右下角坐标)
- #7f0a00cc = 甚至可能是视图的背景颜色
但是我遇到的真正问题(我一生都无法在任何地方找到答案,我什至求助于查看 adb 的源代码)是我不理解这部分行:
这玩意儿是什么意思?
我很快就搞砸了,想看看当我改变一些关于视图的东西时,这些字母和圆点是否会改变。我让视图“ GONE ”,最后出现了“ I ”,当视图为“ VISIBLE ”时,“ I ”消失了,所以也许 I 与视图“不可见”有关,但这只是一个猜测。那么也许这些是视图标志?或查看状态?
我想清楚地知道这些中的每一个是什么意思。是否有一个词汇表可以清楚地解释这些“标志”中的每一个以及它们的含义?
请有人在这里帮助我,我在网络上找不到任何解释这些“标志”的地方,我很想真正和完全理解它们,而不必弄乱我的代码并尝试可以想象的视图迭代。
谢谢!
memory-leaks - 用“adb dumpsys meminfo --unreachable”的输出中的源代码行号替换函数偏移量
要查找我的应用程序的本机 C 代码的内存泄漏,我运行以下命令
我得到以下输出
我正在寻找一种简单的方法来用源代码的行号替换偏移函数(+333、+409、+99、...)。我通过在墓碑文件上使用 ndk-stack 来做这种事情。也许有一个工具能够破译“dumpsys meminfo --unreachable”的输出。
android - ActivityManager::getProcessMemoryInfo 和 dumpsys meminfo 的区别
虽然我找到了很多关于这个问题的话题,但是我仍然对SDK中的api和dumpsys meminfo的使用之间的区别感到困惑。对不起。
我正在编写一个 android 演示来监控它自己的内存使用情况。首先:我会在本地层分配一些内存;其次:在我的MainActivity的java层代码中,我创建了一个独立的线程来监控内存使用情况,代码是这样的:
运行此应用程序时,我们可以在 logcat 中找到如下所示的日志:
我们可以看到 getTotalPss 函数总是返回 54MB。这时候我用dumpsys meminfo 22273
dump memory info in adb shell
,结果是这样的:
我们可以看到 TOTAL PSS 为 157880KB,与 getTotalPss 函数返回的结果不一样。实际上,实际内存更接近dumpsys的结果。
但是几分钟后,我们可以看到 getTotalPss 函数的返回值几乎接近 dumpsys 的结果:
谁能告诉我 Debug.MemoryInfo.getTotalPss() 函数和 dumpsys meminfo 的结果有什么不同?为什么 getTotalPss() 函数不能像 dumpsys 一样得到真正的结果?非常感谢!
2021-04-09更新
我的测试设备的android系统是Android10。我尝试阅读 ActivityManager::getProcessMemoryInfo 的源代码,它从本机获取内存信息的速率有限:
我很困惑为什么间隔这么长,如果我们可以改变间隔?