72获取内存信息(运行的进程数,可用的总内存,剩余内存)&&获取可用的总内存的BUG的解决

本文探讨如何获取Android设备的内存信息,包括运行进程数、总内存和剩余内存。在尝试通过ActivityManager获取内存信息时,遇到NoSuchFieldError异常。解决方案涉及到查看系统源码,通过shell访问proc/meminfo文件获取数据,以及适配不同API级别的设备。
摘要由CSDN通过智能技术生成

获取内存信息(运行的进程数,可用的总内存,剩余内存)属于系统的工具方法了,开始的工具方法是这样的:

package com.ustc.mobilemanager.utils;

import java.util.List;

import android.app.ActivityManager;
import android.app.ActivityManager.MemoryInfo;
import android.app.ActivityManager.RunningAppProcessInfo;
import android.content.Context;

/**
 * 系统信息的工具类
 * 
 * @author
 * 
 */
public class SystemInfoUtils {

	/**
	 * 获取正在运行的进程的数量
	 * 
	 * @param context
	 * @return
	 */
	public static int getRunningProcessCount(Context context) {

		ActivityManager am = (ActivityManager) context
				.getSystemService(Context.ACTIVITY_SERVICE);

		List<RunningAppProcessInfo> infos = am.getRunningAppProcesses();

		return infos.size();
	}

	/**
	 * 获取手机可用的剩余的内存
	 * 
	 * @param context
	 * @return
	 */
	public static long getAvailMem(Context context) {

		ActivityManager am = (ActivityManager) context
				.getSystemService(Context.ACTIVI
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值