Android获取系统储存以及内存信息的方法(二)

Android获取储存信息以及内存信息可以用adb命令查看。

adb查看系统内存信息以及储存信息:

命令:adb shell cat /proc/meminfo

代码:

private static final String FILENAME_PROC_MEMINFO = "/proc/meminfo"; /** * 获取手机内存总大小 * @return */ public static String getTotalMemorySize() { try { FileReader fr = new FileReader(FILENAME_PROC_MEMINFO); BufferedReader br = new BufferedReader(fr, 2048); // String memoryLine = br.readLine(); String subMemoryLine = ""; String Line = ""; while ((Line = br.readLine()) != null) { if (Line.contains("MemTotal:")){ subMemoryLine = Line.substring(Line.indexOf("MemTotal:")); break; } } br.close(); Matcher mer = Pattern.compile("^[0-9]+$").matcher(subMemoryLine.replaceAll("\\D+", "")); //如果为正整数就说明数据正确的,确保在Double.parseDouble中不会异常 if (mer.find()) { long memSize = Integer.parseInt(subMemoryLine.replaceAll("\\D+", "")) ; double mem = (Double.parseDouble(memSize + "")/1024)/1024; NumberFormat nf = new DecimalFormat( "0.0 "); mem = Double.parseDouble(nf.format(mem)); //Log.e(LOG_TAG,"=========mem================ " + mem); return String.valueOf(mem); } } catch (IOException e) { e.printStackTrace(); } return "Unavailable"; } /** * 获取手机剩余内存大小 * @return */ public static String getFreeMemorySize() { try { FileReader fr = new FileReader(FILENAME_PROC_MEMINFO); BufferedReader br = new BufferedReader(fr, 2048); // String memoryLine = br.readLine(); String subMemoryLine = ""; String Line = ""; while ((Line = br.readLine()) != null) { if (Line.contains("MemFree:")){ subMemoryLine = Line.substring(Line.indexOf("MemFree:")); break; } } br.close(); Matcher mer = Pattern.compile("^[0-9]+$").matcher(subMemoryLine.replaceAll("\\D+", "")); //如果为正整数就说明数据正确的,确保在Double.parseDouble中不会异常 if (mer.find()) { long memSize = Integer.parseInt(subMemoryLine.replaceAll("\\D+", "")) ; double mem = (Double.parseDouble(memSize + "")/1024)/1024; NumberFormat nf = new DecimalFormat( "0.0 "); mem = Double.parseDouble(nf.format(mem)); //Log.e(LOG_TAG,"=========mem================ " + mem); return String.valueOf(mem); } } catch (IOException e) { e.printStackTrace(); } return "Unavailable"; }

adb 获取手机储存大小:

命令:adb shell cat /proc/partitions

代码:

private static final String FILENAME_PROC_EMMCINFO = "/proc/partitions"; /** * 获取手机储存大小 * @return */ public static String getEmmcSize() { try { FileReader fr = new FileReader(FILENAME_PROC_EMMCINFO); BufferedReader br = new BufferedReader(fr, 2048); String Line = ""; String EmmcSize = ""; while ((Line = br.readLine()) != null) { if (Line.length() >7 && Line.lastIndexOf(" ") > 0) { if (Line.substring(Line.lastIndexOf(" ") + 1 , Line.length()).equals("mmcblk0")) { EmmcSize = removeAllSpace(Line); break; } } } br.close(); if (EmmcSize.length() >7 ){ EmmcSize = (String) EmmcSize.subSequence(4, EmmcSize.length()-7); Matcher mer = Pattern.compile("^[0-9]+$").matcher(EmmcSize); //如果为正整数就说明数据正确的,确保在Double.parseDouble中不会异常 if (mer.find()) { double mem = (Double.parseDouble(EmmcSize)/1024)/1024; NumberFormat nf = new DecimalFormat( "0.0 "); mem = Double.parseDouble(nf.format(mem)); return String.valueOf(mem); } } return "0"; } catch (IOException e) { e.printStackTrace(); } return "Unavailable"; }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

时间: 2024-09-20 14:42:02

Android获取系统储存以及内存信息的方法(二)的相关文章

Android获取系统储存以及内存信息的方法(一)

众所周知,Android的手机上的信息大部分都是可以通过代码获取的,比如说爱奇艺的离线储存功能上有一个最大储存大小/剩余储存大小的功能. 获取SD卡上的储存信息: /** * 获得SD卡总大小 * * @return */ private String getSDTotalSize() { File path = Environment.getExternalStorageDirectory(); StatFs stat = new StatFs(path.getPath()); long bl

解析Android获取系统cpu信息,内存,版本,电量等信息的方法详解_Android

Android获取系统cpu信息,内存,版本,电量等信息 1.CPU频率,CPU信息:/proc/cpuinfo和/proc/stat 通过读取文件/proc/cpuinfo系统CPU的类型等多种信息.读取/proc/stat 所有CPU活动的信息来计算CPU使用率 下面我们就来讲讲如何通过代码来获取CPU频率: 复制代码 代码如下: package com.orange.cpu; import java.io.BufferedReader;import java.io.FileNotFound

android 获取手机GSM/CDMA信号信息,并获得基站信息的方法_Android

在Android中我们常用的轻松获取WIFI信号列表,那如何获取CDMA或者GSM的手机信号呢? 系统提供了TelephonyManager类,此类非常丰富,基本你所需要的手机信息都能获取到,那下面就来看看我们所需要的CDMA与GSM信号是如何获取的吧. private TelephonyManager telephonyManager; private PhoneStateListener phoneStateListener; 首先声明两个变量 在onCreate()方法中初始化变量 Ini

视频-求助 centos 怎么获取系统gpu使用率的信息??intel显卡

问题描述 求助 centos 怎么获取系统gpu使用率的信息??intel显卡 最近在做视频处理的软件,需要获取系统gpu使用率,在网上看了很多帖子都是通过安装NVIDIA驱动来获取的.没有有哪位兄台有好方法?不通过NVIDIA驱动获取系统gpu的? 解决方案 http://bbs.csdn.net/topics/391880436?page=1

Android获取本机各种类型文件的方法

介绍 本篇介绍Android获取本机各种类型文件的方法,已经封装成工具类,末尾有源码下载地址. 提示 获取音乐.视频.图片.文档等文件是需要有读取SD卡的权限的,如果是6.0以下的系统,则直接在清单文件中声明SD卡读取权限即可:如果是6.0或以上,则需要动态申请权限. FileManager的使用 FileManager是封装好的用于获取本机各类文件的工具类,使用方式如:FileManager.getInstance(Context context).getMusics(),使用的是单例模式创建

android获取监听SD Card状态的方法

    android获取监听SD Card状态的方法 本文实例讲述了android获取监听SD Card状态的方法.分享给大家供大家参考.具体分析如下: 1. 注册StorageEventListener来监听SD卡状态即onStorageStateChanged()方法,当sd卡状态改变时,调用该方法. 复制代码 代码如下: public void onStorageStateChanged(String path,String oldState,String newState){ if (

android获取监听SD Card状态的方法_Android

本文实例讲述了android获取监听SD Card状态的方法.分享给大家供大家参考.具体分析如下: 1. 注册StorageEventListener来监听SD卡状态即onStorageStateChanged()方法,当sd卡状态改变时,调用该方法. 复制代码 代码如下: public void onStorageStateChanged(String path,String oldState,String newState){ if (newState.equals(Environment.

图片-Android调用系统发送彩信,试过多种方法,在各种机型上不适应

问题描述 Android调用系统发送彩信,试过多种方法,在各种机型上不适应 Intent intent = new Intent(Intent.ACTION_SENDTO); intent.setData(Uri.parse("smsto:")); intent.putExtra("exit_on_sent", true); try { intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File(ImageU

PHP实现获取某个月份周次信息的方法_php技巧

本文实例讲述了PHP实现获取某个月份周次信息的方法.分享给大家供大家参考.具体如下: <?php function getMonthweeks($date){ $ret=array(); $stimestamp=strtotime($date); $mdays=date('t',$stimestamp); $msdate=date('Y-m-d',$stimestamp); $medate=date('Y-m-'.$mdays,$stimestamp); $etimestamp = strtot