1

私は Linux C++ アプリケーションを Android NDK に移植しています。私のアプリはfreeシェルを呼び出して、ログ記録のためにマシンで使用できるメモリの量を確認します。私の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-ドロイド

于 2014-04-22T05:10:10.343 に答える