Android自动dump hprof文件的功能实现

要实现这个功能,必须提升权限,必须满足以下两个条件之一

1、在root的设备上运行

2、如果机子没root,需要在app的manifest文件中添加sharedUid,但是使用了这个的话,需要对apk文件进行系统签名

android:sharedUserId="android.uid.shell"


【步骤1】先准备一个工具类,用于获取进程的内存,dump hrpof文件等操作,代码如下:

**
 * 系统级的操作的工具类
 *
 */
public class SystemOper {
	private static String TAG = "SystemOper";

	
	/**
	 * 获取应用所占用的内存大小
	 *
	 * @param pkgName 应用的包名
	 * @return 占用内存的大小(kB),包括native heap 和 dalvik heap等,为总内存大小
	 */
	public static int getProcessMemory(String pkgName) {
		int memoryUsed = 0;
		String getMemory = "dumpsys meminfo | grep " + pkgName;
		ShellUtils.CommandResult getMemoryResult = ShellUtils.execCommand(
				getMemory, false);
		if (getMemoryResult.successMsg.trim().length() > 0) {
			St
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值