Android 获取手机总内存和可用内存等信息

 Android 获取手机总内存和可用内存等信息

 

http://blog.csdn.net/ghd2000/article/details/6146360

 

获取android手机总内存和可用内存的一些方法

分类: Android 358人阅读 评论(0) 收藏 举报

   网上有很多方法可以获取内存的方法,我收集了一下具体如下,可以参考这位老兄的博客。

第一种方法:

http://blog.csdn.net/sxwyf248/archive/2010/11/02/5981251.aspx

第二种方法:

是我在一个论坛里找到的,是一个高手用java的反射机制来获取手机的内存的一些信息。

具体代码如下。

  1. public class GetFreeMem extends Activity {  
  2.     /** Called when the activity is first created. */  
  3.     @Override  
  4.     public void onCreate(Bundle savedInstanceState) {  
  5.         super.onCreate(savedInstanceState);  
  6.         setContentView(R.layout.main);  
  7.         Method _readProclines = null;  
  8.         try {  
  9.             Class procClass;  
  10.             procClass = Class.forName("android.os.Process");  
  11.             Class parameterTypes[]= new Class[] {String.class, String[].classlong[].class };  
  12.             _readProclines = procClass.getMethod("readProcLines", parameterTypes);  
  13.             Object arglist[] = new Object[3];  
  14.             final String[] mMemInfoFields = new String[] {"MemTotal:",  
  15.                     "MemFree:""Buffers:""Cached:"};  
  16.             long[] mMemInfoSizes = new long[mMemInfoFields.length];  
  17.             mMemInfoSizes[0] = 30;  
  18.             mMemInfoSizes[1] = -30;  
  19.             arglist[0] = new String("/proc/meminfo");  
  20.             arglist[1] = mMemInfoFields;  
  21.             arglist[2] = mMemInfoSizes;  
  22.             if(_readProclines!=null){  
  23.                 _readProclines.invoke(null, arglist);  
  24.                 for (int i=0; i<mMemInfoSizes.length; i++) {  
  25.                     Log.d("GetFreeMem", mMemInfoFields[i]+" : "+mMemInfoSizes[i]/1024);  
  26.                 }  
  27.             }  
  28.         } catch (ClassNotFoundException e) {  
  29.             e.printStackTrace();  
  30.         } catch (SecurityException e) {  
  31.             e.printStackTrace();  
  32.         } catch (IllegalArgumentException e) {  
  33.             e.printStackTrace();  
  34.         } catch (IllegalAccessException e) {  
  35.             e.printStackTrace();  
  36.         } catch (InvocationTargetException e) {  
  37.             e.printStackTrace();  
  38.         } catch (NoSuchMethodException e) {  
  39.             e.printStackTrace();  
  40.         }  
  41.     }  
  42. }   

 

效果如图:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值