我试图获取总内存(RAM)和内部存储空间大小,但我使用的每种方法都报告它太低了。我知道内核可能会占用一些但我需要知道总共安装了多少内核。
对于我首先从/ proc / meminfo /读取的内存然后使用getMemoryInfo
。报告中的每一个都少于安装的内存量(700MB而不是1GB)。
我使用Environment.getDataDirectory
,getBlockSizeLong
和getBlockCountLong
的内部存储空间大小。结果远远低于我所知道的存储量。操作系统中的设置与我的方法报告的数量一致,但我需要知道安装的总量,而不仅仅是它认为存在的数量(即使我输入的内容听起来反直觉)。
编辑:我已经查看了正在发送的问题,并按照我的说法尝试了他们的方法。与我所知道的安装相比,报告的值不正确。
答案 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;
存储
StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath());
long bytesAvailable = (long)stat.getBlockSize() *(long)stat.getBlockCount();
long megAvailable = bytesAvailable / 1048576;
祝你好运!