Android 获取内存信息

 

import java.io.BufferedReader; import java.io.FileReader;

import android.app.Activity; import android.app.ActivityManager; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.widget.TextView;

public class SystemInfo extends Activity {    private TextView textView,textView2;  ActivityManager am;  ActivityManager.MemoryInfo memoryInfo;     public void onCreate(Bundle savedInstanceState) {       super.onCreate(savedInstanceState);       setContentView(R.layout.sysinfo);       textView=(TextView) findViewById(R.id.sys_textView1);       textView2=(TextView) findViewById(R.id.sys_textView2);        am=(ActivityManager) getSystemService(ACTIVITY_SERVICE);        memoryInfo=new ActivityManager.MemoryInfo();        am.getMemoryInfo(memoryInfo);        textView2.setText("本机最大内存:"+GetTotalMemory()+"M");        UpdateMemory Update=new UpdateMemory();        Update.start();   }    class UpdateMemory extends Thread{  public void run() {   while(true){     Message message=new Message();     //message.obj=GetAvailableMemory(memoryInfo.availMem);     message.what=1;        handler.sendMessage(message);         try {     Thread.sleep(1000);    } catch (InterruptedException e) {     // TODO Auto-generated catch block     e.printStackTrace();    }   }     }        }        Handler handler=new Handler(){

  public void handleMessage(Message msg) {    // TODO Auto-generated method stub    if (msg.what==1) {      textView.setText("本机还有内存:"+GetAvailableMemory(memoryInfo.availMem)+"M");    }        super.handleMessage(msg);   }           };        private Double GetTotalMemory(){            String str1 = "/proc/meminfo";      String str2;      Double memory=0.0 ;      try {    FileReader r=new FileReader(str1);    BufferedReader bufferedRead=new BufferedReader(r, 8192);    str2=bufferedRead.readLine();    System.err.println("str2--------->"+str2);    //arrayOfString = str2.split("//s+");     ///String str3=str2.trim();    //System.out.println("----------------------->"+str3);                String str4=str2.substring(str2.length()-9, str2.length()-3);    //System.out.println(str4+"         "+str4.length());    memory=Double.parseDouble(str4)/1000;       } catch (Exception e) {    // TODO: handle exception   }   return memory;     }     private double GetAvailableMemory(long num)     {      double M;      M=(num/1024)/1024;         return  M;     } }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值