Android开发学习笔记(十二) 获取系统可用内存
来源:互联网 发布:政治体制改革 知乎 编辑:程序博客网 时间:2024/05/16 07:04
要获取手机的可用内存,首先要获取系统服务信息,
context Context to use to load the localized unitsnumber size value to be formatted第一个参数是上下文,第二个是需要转换格式的long类型的文件大小。最终返回类似 22KB、52Bytes,22MB的字符串。
xml文件,activity_main.xml
最终结果:
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);
public static String formatFileSize (Context context, long number)
Added in API level 3
Formats a content size to be in the form of bytes, kilobytes, megabytes, etc
Parameters
Returns
- formatted string with the number
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;@Overridepublic 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);}}
xml文件,activity_main.xml
<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>
最终结果:
- Android开发学习笔记(十二) 获取系统可用内存
- Android获取系统可用内存
- android系统学习笔记十二
- Android开发秘籍学习笔记(十二)
- Android获取可用内存(系统,sd卡,u盘)
- android获取系统剩余可用内存信息
- android 获取系统可用内存的办法
- 获取系统可用内存
- Android开发学习笔记十二 WebView
- Android学习笔记(十二)
- 2种获取android系统可用内存方法的不同?
- 操作系统学习笔记(23)--系统内存获取
- Android学习笔记(十二):Activity-Spinner
- Android学习笔记(十二)-WebService调用
- Android学习笔记(十二):Activity-Spinner
- Android学习笔记(十二)传感器
- 获取系统剩余可用内存信息
- 获取当前系统的可用内存信息
- android视频播放器
- Windows下搭建和配置SVN服务器
- hMailServer服务器故障处理案例
- 国内HTML5前端开发框架汇总
- 小札记
- Android开发学习笔记(十二) 获取系统可用内存
- 在VC中加载LIB库文件的三种方法
- UIWindow,UIWindowLevel详解
- Windows socket 之WSAAsyncSelect模型
- 超强安卓自定义对话模框
- Spring 资源文件与命名bean的错误
- 深入Java关键字null
- 我是怎么招聘程序员的
- linux 标准IO缓冲机制探究