java - 如何获得 TOTAL 内存和内部存储大小 Android?

标签 java android size storage ram

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

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

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

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

最佳答案

内存:

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;

祝你好运!

关于java - 如何获得 TOTAL 内存和内部存储大小 Android?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32094038/

相关文章:

java - 用 Tomcat 取代 Weblogic?

java - bash eval 未检测到 System.exit 返回码

Android:如何更改 Navigation Drawer onBackPressed() 中的选定项?

android - android 监视器使用情况应用程序如何工作

php - 为什么我的 SQL 脚本停止了?

java - 使用 ActionBinding 按下组合键

java - 如何动态设置数组长度

android - 离线下载安装Android studio gradle

ios - 如何获取我的 iOS 应用程序的存储空间和内存大小?

dataframe - 如何获取 Julia DataFrame 的内存大小?