代码详细注释,小白也能直接使用,看文章【ADB功能简介及常规使用】到第六步没有复制,直接直接运行过代码就行了。
下面是我运行代码的结果。最后面是此次的代码,感兴趣的小伙伴可以复制回去试试水,保证不会让你失望。
import subprocess # 导入 subprocess 模块,用于执行外部命令
import time # 导入 time 模块,用于时间相关的操作
def adb_command(command):
"""执行 adb 命令并返回输出"""
# 调用 subprocess.run 执行给定的 adb 命令,捕获标准输出和错误输出
result = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
# 返回命令的标准输出,去除首尾空白字符
return result.stdout.strip()
def monitor_app_performance(package_name, duration=60, interval=5):
"""
监控指定应用的性能(CPU 和内存使用情况)
:param package_name: 应用包名,指定要监控的应用
:param duration: 总监控时间(秒),监控的持续时间
:param interval: 每次监控间隔(秒),获取性能数据的时间间隔
"""
# 计算结束时间,当前时间加上监控的持续时间
end_time = time.time() + duration
while time.time() < end_time: # 在持续时间内重复执行
# 获取性能数据,执行 top 命令
command = ["adb", "shell", "top", "-n", "1"] # ADB 命令,获取当前运行的进程
output = adb_command(command) # 调用 adb_command 执行命令并获取输出
# 过滤出目标应用的行
for line in output.splitlines(): # 按行分割输出
if package_name in line: # 检查当前行是否包含目标应用包名
print(line) # 输出包含应用信息的行
# 等待下一个监控周期
time.sleep(interval) # 暂停指定的时间,以设置监控间隔
if __name__ == "__main__": # 当脚本被直接运行时
app_package_name = "com.tikichat" # 设置要监控的应用包名
monitor_app_performance(app_package_name, duration=60, interval=5) # 调用性能监控函数