1

我正在将 Linux C++ 应用程序移植到 Android NDK,并且我的应用程序调用freeshell 以查看机器上有多少内存可用于记录目的。在我的 android 端口上,这失败并出现错误:

sh:免费:未找到

在 Centos v4 Linux 机器上,我得到如下结果:

             total       used       free     shared    buffers     cached
Mem:       8308648    3904076    4404572          0     454956    1593844
-/+ buffers/cache:    1855276    6453372
Swap:      2031608        208    2031400

我还能在这里做些什么来在 Android 上进行近似吗?

4

1 回答 1

0

似乎它应该工作:

StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath());
long bytesAvailable = (long)stat.getBlockSize() * (long)stat.getAvailableBlocks();
long megAvailable = bytesAvailable / (1024 * 1024);
Log.e("","Available MB : "+megAvailable);

来源:Android-Droid

于 2014-04-22T05:10:10.343 回答