android 进程读写监控api,获取Android设备中运行的进程信息

本文探讨了多种在Android设备上获取进程信息的方法,包括adb命令、ActivityManager API、读取/proc、UsageStatsManager以及执行shell命令。由于权限限制,这些方法在不同Android版本上的适用性各异,例如getRunningAppProcesses()受限于Android 5.0+,而UsageStatsManager在7.0+系统中无法获取内存信息。
摘要由CSDN通过智能技术生成

为了检查应用是不是因为占用内存过高导致被系统杀死的,需要记录设备中运行的哪些进程,以及占用的内存情况, 需要将信息每间隔一段时间写入到文件中,以便后面的分析。

在网上找了一些相关的解决方案:

1.通过adb命令来获取进程信息;

adb shell dumpsys meminfo 、 adb shell procrank 、 adb shell + top -n 1等命令都可以查看设备上的进程信息。将命令的结果重定向到文件中,然后对结果进行处理,可记录在不同时间点上设备上运行的进程信息,下面是用python实现的一段代码:

# -*- coding: utf-8 -*-

import os

import time

from apscheduler.schedulers.blocking import BlockingScheduler

# execute command, and return the output

def execCmd(cmd):

r = os.popen(cmd)

text = r.read()

r.close()

return text

# write "data" to file-filename

def writeFile(filename, data, type):

f = open(filename, type)

f.write(data)

f.close()

def saveToFile(infile,outfile,type):

f = open(infile,'r')

flag

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值