问题标签 [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.

0 投票
1 回答
309 浏览

android - 为什么“dumpsys 活动顶部”在其输出中列出“片段”,而我没有使用片段?

SecondActivity唯一的布局很简单,在ContentView它的onCreate()方法中设置:

而且activity_second.xml是:

但是当我dumpsys用来转储最重要的活动时,它会Fragment在输出中列出一个未知数(“ReportFragment”):

为什么输出显示ReportFragment在“Active Fragments”和“Added Fragments”中,而我没有使用任何Fragment

0 投票
0 回答
143 浏览

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 吗?

0 投票
1 回答
1111 浏览

android-memory - android,如何以编程方式使用“dumpsys meminfo”

想以编程方式使用“dumpsys meminfo”打印出应用程序在某些时间点的内存使用情况,

添加<uses-permission android:name="android.permission.DUMP" />,并使用以下代码在模拟器上进行测试,但出现异常:“java.io.IOException:无法运行程序“adb”:错误 = 13,权限被拒绝”

0 投票
0 回答
120 浏览

android - Android 设备 FPS 计算

我正在使用gfxinfo计算应用程序 FPS,但显然这不适用于游戏,因为它们不使用 UIKit 进行绘图。我尝试使用 SurfaceFlinger,但不知何故它不提供任何帧信息,只提供刷新周期。问题是,如何使用 adb 命令计算 Android 设备上的应用和游戏 FPS?提前非常感谢!

0 投票
1 回答
706 浏览

python - adb shell dumpsys 窗口窗口输出未显示 mCurrentFocused

我在用

命令,但输出未显示 mCurrentFocused 使用虚拟设备 Nexus 6P API 30 请帮助我或替代命令

0 投票
1 回答
381 浏览

android - 如何使用 Android dumpsys framestats

我想测量我的 Android 增强现实应用的 FPS。我正在尝试遵循使用 dumpsys framestats 的文档

这是我的程序:

  1. 通过 USB 将设备 (Galaxy Tab S5e) 连接到计算机 (MacBook Pro)
  2. 启动程序
  3. 打开终端并输入adb shell dumpsys gfxinfo <PACKAGE_NAME> framestats

我得到结果。文档说我应该得到一些 CSV 数据(我这样做了)。这里是:

首先,为什么只有两行,如果:

“此输出的每一行代表应用程序生成的一帧”

如果我等待然后重新运行命令,我再次只得到 2 行。有时值已更新,但有时它们没有...

文档说我可以计算帧时间:

所以,我想我可以在说 1 分钟后运行 ADB 命令,输出大量帧时间然后绘制它,但是如果我一次只输出 2 帧......并且如果重新运行 ADB 命令没有更新数据...如何测量帧时间?我在这里想念什么?

0 投票
1 回答
237 浏览

adb - 如何在android adb中访问当前和焦点窗口

我正在使用 Android API 30 adb

但它没有显示 mCurrentFocused 和 mFocused 应用程序

请帮帮我

0 投票
0 回答
22 浏览

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 与视图“不可见”有关,但这只是一个猜测。那么也许这些是视图标志?或查看状态?

我想清楚地知道这些中的每一个是什么意思。是否有一个词汇表可以清楚地解释这些“标志”中的每一个以及它们的含义?

请有人在这里帮助我,我在网络上找不到任何解释这些“标志”的地方,我很想真正和完全理解它们,而不必弄乱我的代码并尝试可以想象的视图迭代。

谢谢!

0 投票
1 回答
60 浏览

memory-leaks - 用“adb dumpsys meminfo --unreachable”的输出中的源代码行号替换函数偏移量

要查找我的应用程序的本机 C 代码的内存泄漏,我运行以下命令

我得到以下输出

我正在寻找一种简单的方法来用源代码的行号替换偏移函数(+333、+409、+99、...)。我通过在墓碑文件上使用 ndk-stack 来做这种事情。也许有一个工具能够破译“dumpsys meminfo --unreachable”的输出。

0 投票
0 回答
182 浏览

android - ActivityManager::getProcessMemoryInfo 和 dumpsys meminfo 的区别

虽然我找到了很多关于这个问题的话题,但是我仍然对SDK中的api和dumpsys meminfo的使用之间的区别感到困惑。对不起。

我正在编写一个 android 演示来监控它自己的内存使用情况。首先:我会在本地层分配一些内存;其次:在我的MainActivity的java层代码中,我创建了一个独立的线程来监控内存使用情况,代码是这样的:

运行此应用程序时,我们可以在 logcat 中找到如下所示的日志:

我们可以看到 getTotalPss 函数总是返回 54MB。这时候我用dumpsys meminfo 22273dump 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 的源代码,它从本机获取内存信息的速率有限: 在此处输入图像描述

我们发现这个函数的间隔默认设置为5分钟: 在此处输入图像描述

我很困惑为什么间隔这么长,如果我们可以改变间隔?