2014-04-17 58 views
1

我正在將Linux C++應用程序移植到Android NDK,並且我的應用程序會調用free到外殼,以查看機器上有多少內存用於記錄目的。在我的Android端口失敗與錯誤:有沒有像Android上的Linux免費命令?

sh: free: not found

在一個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上?

+3

可以使用這個問題的答案得到它:http://stackoverflow.com/questions/3170691/how-to - 獲取 - 當前內存使用率功能於安卓 – Firefrost

回答

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