Android 獲取內存信息

什麼都不說了 直接上源碼吧~~ 哇咔咔 !!!

  1. <p> </p><p>  

  2. import java.io.BufferedReader;  

  3. import java.io.FileReader;</p><p>import android.app.Activity;  

  4. import android.app.ActivityManager;  

  5. import android.os.Bundle;  

  6. import android.os.Handler;  

  7. import android.os.Message;  

  8. import android.widget.TextView;</p><p>publicclass SystemInfo extends Activity {  

  9. private TextView textView,textView2;  

  10. ActivityManager am;  

  11. ActivityManager.MemoryInfo memoryInfo;  

  12. publicvoid onCreate(Bundle savedInstanceState) {  

  13. super.onCreate(savedInstanceState);  

  14.      setContentView(R.layout.sysinfo);  

  15.      textView=(TextView) findViewById(R.id.sys_textView1);  

  16.      textView2=(TextView) findViewById(R.id.sys_textView2);  

  17.       am=(ActivityManager) getSystemService(ACTIVITY_SERVICE);  

  18.       memoryInfo=new ActivityManager.MemoryInfo();  

  19.       am.getMemoryInfo(memoryInfo);  

  20.       textView2.setText("本機最大內存:"+GetTotalMemory()+"M");  

  21.       UpdateMemory Update=new UpdateMemory();  

  22.       Update.start();  

  23.  }  

  24. class UpdateMemory extends Thread{  

  25. publicvoid run() {  

  26. while(true){  

  27.    Message message=new Message();  

  28. //message.obj=GetAvailableMemory(memoryInfo.availMem);

  29.    message.what=1;  

  30.       handler.sendMessage(message);  

  31. try {  

  32.    Thread.sleep(1000);  

  33.   } catch (InterruptedException e) {  

  34. // TODO Auto-generated catch block

  35.    e.printStackTrace();  

  36.   }  

  37.  }  

  38. }  

  39.   }  

  40.    Handler handler=new Handler(){</p><p>  publicvoid handleMessage(Message msg) {  

  41. // TODO Auto-generated method stub

  42. if (msg.what==1) {  

  43.     textView.setText("本機還有內存:"+GetAvailableMemory(memoryInfo.availMem)+"M");  

  44.   }  

  45. super.handleMessage(msg);  

  46.  }  

  47.    };  

  48. private Double GetTotalMemory(){  

  49.     String str1 = "/proc/meminfo";  

  50.     String str2;  

  51.     Double memory=0.0 ;  

  52. try {  

  53.   FileReader r=new FileReader(str1);  

  54.   BufferedReader bufferedRead=new BufferedReader(r, 8192);  

  55.   str2=bufferedRead.readLine();  

  56.   System.err.println("str2--------->"+str2);  

  57. //arrayOfString = str2.split("//s+");  

  58. ///String str3=str2.trim();

  59. //System.out.println("----------------------->"+str3);

  60.           String str4=str2.substring(str2.length()-9, str2.length()-3);  

  61. //System.out.println(str4+"         "+str4.length());

  62.   memory=Double.parseDouble(str4)/1000;  

  63.  } catch (Exception e) {  

  64. // TODO: handle exception

  65.  }  

  66. return memory;  

  67.    }  

  68. privatedouble GetAvailableMemory(long num)  

  69.    {  

  70. double M;  

  71.     M=(num/1024)/1024;  

  72. return  M;  

  73.    }  

  74. }</p>  


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章