您的位置:首页 > 移动开发 > Android开发

Android 获取手机总内存和可用内存等信息

2011-07-05 22:09 513 查看
Android 获取手机总内存和可用内存等信息

/article/1992297.html

获取android手机总内存和可用内存的一些方法

分类: Android 2011-01-17 11:16 358人阅读 评论(0) 收藏 举报 网上有很多方法可以获取内存的方法,我收集了一下具体如下,可以参考这位老兄的博客。
第一种方法:
http://blog.csdn.net/sxwyf248/archive/2010/11/02/5981251.aspx
第二种方法:
是我在一个论坛里找到的,是一个高手用java的反射机制来获取手机的内存的一些信息。
具体代码如下。
view plaincopy to clipboardprint?public class GetFreeMem extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Method _readProclines = null;
try {
Class procClass;
procClass = Class.forName("android.os.Process");
Class parameterTypes[]= new Class[] {String.class, String[].class, long[].class };
_readProclines = procClass.getMethod("readProcLines", parameterTypes);
Object arglist[] = new Object[3];
final String[] mMemInfoFields = new String[] {"MemTotal:",
"MemFree:", "Buffers:", "Cached:"};
long[] mMemInfoSizes = new long[mMemInfoFields.length];
mMemInfoSizes[0] = 30;
mMemInfoSizes[1] = -30;
arglist[0] = new String("/proc/meminfo");
arglist[1] = mMemInfoFields;
arglist[2] = mMemInfoSizes;
if(_readProclines!=null){
_readProclines.invoke(null, arglist);
for (int i=0; i<mMemInfoSizes.length; i++) {
Log.d("GetFreeMem", mMemInfoFields[i]+" : "+mMemInfoSizes[i]/1024);
}
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
}
}

效果如图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: