获取系统内存首先要获得系统活动管理器
ActivityManager manager =(ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
再获取内存信息
ActivityManager.MemoryInfo memoryInfo =new ActivityManager.MemoryInfo();
程序如下:
public class MainActivity extends Activity {
private Handler mHandler = null;
private TextView textview = null;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
// super.handleMessage(msg);
String show = "已使用:" + getUnusedMemmory() + "M";
System.out.println("xxxzx");
textview.setText(show + "\n" + textview.getText());
// mHandler.postDelayed(new MemmoryRunnable(), 2500);
}
};
textview = (TextView) findViewById(R.id.text_view);
textview.setMovementMethod(ScrollingMovementMethod.getInstance());
//启动线程
new Thread(new MemmoryRunnable()).start();
}
//取得剩余内存信息
private long getUnusedMemmory() {
long unused = 0;
ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
ActivityManager.MemoryInfo mi = new ActivityManager.MemoryInfo();
manager.getMemoryInfo(mi);
//获取剩余内存转化为M
unused = mi.availMem / (1024 * 1024);
return unused;
}
//多线程接口函数
private boolean isRunning = true;
private class MemoryRunnable implements Runnable{
public void run(){
while (isRunning){
mHandler.sendEmptyMessage(0);
System.out.println("memmory");
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}