How to get TOTAL memory and internal storage size Android?
for RAM:
Total RAM available android APP
Basically is:
MemoryInfo mi = new MemoryInfo();
ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
activityManager.getMemoryInfo(mi);
long availableMegs = mi.availMem / 1048576L;
Storage:
StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath());
long bytesAvailable = (long)stat.getBlockSize() *(long)stat.getBlockCount();
long megAvailable = bytesAvailable / 1048576;
Good luck!
jambo
Updated on June 22, 2022Comments
-
jambo over 1 year
I'm attempting to get the total memory (RAM) and internal storage size, but every method I have used is reporting it too low. I'm aware the kernel may take up some of it but I need to know how much there is installed in total.
For the memory I first just read from /proc/meminfo/ then used the
getMemoryInfo
. Each of these reported less than the amount of memory installed (700MB instead of 1GB).for the internal storage size I am using
Environment.getDataDirectory
,getBlockSizeLong
andgetBlockCountLong
. The result of this is much lower than the amount of storage I know is installed. The settings in the OS agree with the amount reported by my method but I need to know the total amount installed not just what it thinks is there (Even as I typed that it sounded counter-intuitive in my head).Edit: I've looked at the questions that are being sent and tried their methods as I said. The values reported are incorrect compared for what I know is installed.
-
prettyvoid about 8 yearsDuplicate questions are better forwarded to their duplicate threads rather than answering them, in my opinion.
-
jambo about 8 yearsAs I said I've tried using
getMemoryInfo
it reports 700KB instead of 1GB. as for storage I need the Internal storage space. -
Fer about 8 years@prettyvoid I agree but those are two previous answers combined. Thanks