Android学习 之 手机和SD内存信息的一些操作方法

本文提供了几种用于获取手机内存信息的方法,包括获取可用内存空间大小、手机内存大小、SD卡的内存信息及总的内存大小。这些方法对于开发移动应用时进行资源管理非常有用。

1。获取可用的内存空间大小信息

public long getAvailMemory() {
		ActivityManager am = (ActivityManager)mContext.getSystemService(Context.ACTIVITY_SERVICE);
		ActivityManager.MemoryInfo mi = new ActivityManager.MemoryInfo();
		am.getMemoryInfo(mi);
		return mi.availMem;
	}

 

2.获取手机内存大小信息

public long[] getRomMemroy() {
		long[] romInfo = new long[2];
		//Total rom memory
		romInfo[0] = getTotalInternalMemorySize();

		//Available rom memory
		File path = Environment.getDataDirectory();
		StatFs stat = new StatFs(path.getPath());
		long blockSize = stat.getBlockSize();
		long availableBlocks = stat.getAvailableBlocks();
		romInfo[1] = blockSize * availableBlocks;
		getVersion();
		return romInfo;
	}

	public long getTotalInternalMemorySize() {
		File path = Environment.getDataDirectory();
		StatFs stat = new StatFs(path.getPath());
		long blockSize = stat.getBlockSize();
		long totalBlocks = stat.getBlockCount();
		return totalBlocks * blockSize;
	}

 

3.获取SD卡的内存信息大小

public long[] getSDCardMemory() {
		long[] sdCardInfo=new long[2];
		String state = Environment.getExternalStorageState();
		if (Environment.MEDIA_MOUNTED.equals(state)) {
			File sdcardDir = Environment.getExternalStorageDirectory();
			StatFs sf = new StatFs(sdcardDir.getPath());
			long bSize = sf.getBlockSize();
			long bCount = sf.getBlockCount();
			long availBlocks = sf.getAvailableBlocks();

			sdCardInfo[0] = bSize * bCount;//总大小
			sdCardInfo[1] = bSize * availBlocks;//可用大小
		}
		return sdCardInfo;
	}

 

 

4.获取总的内存大小信息

public void getTotalMemory() {
		String str1 = "/proc/meminfo";
		String str2="";
		try {
			FileReader fr = new FileReader(str1);
			BufferedReader localBufferedReader = new BufferedReader(fr, 8192);
			while ((str2 = localBufferedReader.readLine()) != null) {
				Log.i(TAG, "---" + str2);
			}
		} catch (IOException e) {
		}
	}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值