ActivityManager myActivityManager =(ActivityManager)getSystemService(Activity.ACTIVITY_SERVICE);
然后获得MemoryInfo类型对象
ActivityManager.MemoryInfo memoryInfo = new ActivityManager.MemoryInfo();
然后,使用getMemoryInfo(memoryInfo)方法获得系统可用内存,此方法将内存大小保存在memoryInfo对象上
myActivityManager.getMemoryInfo(memoryInfo) ;
然后,memoryInfo对象上的availmem值即为所求
long memSize = memoryInfo.availMem ;
字符类型转换 ,转换成MB格式。
String leftMemSize = Formatter.formatFileSize(getBaseContext(), memSize);
Formats a content size to be in the form of bytes, kilobytes, megabytes, etc
context | Context to use to load the localized units |
---|---|
number | size value to be formatted |
java文件 MainActivity.java
package com.xujin.availablemem; import android.app.Activity; import android.app.ActivityManager; import android.os.Bundle; import android.text.format.Formatter; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; public class MainActivity extends Activity { private ActivityManager myActivityManager; private TextView leftMem; private Button refresh; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); leftMem = (TextView)findViewById(R.id.avaMem); refresh = (Button)findViewById(R.id.refresh); //获取系统服务信息 myActivityManager =(ActivityManager)getSystemService(Activity.ACTIVITY_SERVICE); upDateMemInfo(); refresh.setOnClickListener(new OnClickListener(){ public void onClick(View source){ upDateMemInfo(); } }); } //更新可用内存信息 public void upDateMemInfo(){ //获得MemoryInfo对象 ActivityManager.MemoryInfo memoryInfo = new ActivityManager.MemoryInfo(); //获得系统可用内存,保存在MemoryInfo对象上 myActivityManager.getMemoryInfo(memoryInfo) ; long memSize = memoryInfo.availMem ; //字符类型转换 String leftMemSize = Formatter.formatFileSize(getBaseContext(), memSize); leftMem.setText(leftMemSize); } }
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="当前系统可用内存为:" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:id="@+id/avaMem"/> </LinearLayout> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="refresh" android:id="@+id/refresh"/> </LinearLayout>