如何获得Android的TOTAL内存和内部存储空间?

时间:2015-08-19 11:19:34

标签: java android size storage ram

我试图获取总内存(RAM)和内部存储空间大小,但我使用的每种方法都报告它太低了。我知道内核可能会占用一些但我需要知道总共安装了多少内核。

对于我首先从/ proc / meminfo /读取的内存然后使用getMemoryInfo。报告中的每一个都少于安装的内存量(700MB而不是1GB)。

我使用Environment.getDataDirectorygetBlockSizeLonggetBlockCountLong的内部存储空间大小。结果远远低于我所知道的存储量。操作系统中的设置与我的方法报告的数量一致,但我需要知道安装的总量,而不仅仅是它认为存在的数量(即使我输入的内容听起来反直觉)。

编辑:我已经查看了正在发送的问题,并按照我的说法尝试了他们的方法。与我所知道的安装相比,报告的值不正确。

1 个答案:

答案 0 :(得分:3)

for RAM:

Total RAM available android APP

基本上是:

MemoryInfo mi = new MemoryInfo();
ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
activityManager.getMemoryInfo(mi);
long availableMegs = mi.availMem / 1048576L;

存储

Available STORAGE Android APP

StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath());
long bytesAvailable = (long)stat.getBlockSize() *(long)stat.getBlockCount();
long megAvailable = bytesAvailable / 1048576;
祝你好运!