Android 如何获取运行内存和总运行内存等
目录
- 总存储内存和可用内存
- 总运行内存和可用运行内存
- 当前应用使用的运行内存大小
- 获取应用的缓存大小
总存储内存和可用内存
1、获取手机总存储内存
/*** 当前的手机总存储内存大小** @return xx GB*/public String getTotalInternalMemorySize(Context context) {File path = Environment.getDataDirectory();StatFs stat = new StatFs(path.getPath());long blockSize = stat.getBlockSize();long totalBlocks = stat.getBlockCount();return Formatter.formatFileSize(context, totalBlocks * blockSize);}
2、获取手机可用存储内存
/*** 当前手机可用存储内存大小** @return xx GB*/public String getAvailableInternalMemorySize(Context context) {File path = Environment.getDataDirectory();StatFs stat = new StatFs(path.getPath());long blockSize = stat.getBlockSize();long availableBlocks = stat.getAvailableBlocks();return Formatter.formatFileSize(context, availableBlocks * blockSize);}
总运行内存和可用运行内存
1、获取手机的总运行内存
/*** 获取android总运行内存大小* @param context*/public String getTotalMemory(Context context) {String str1 = "/proc/meminfo";// 系统内存信息文件String str2;String[] arrayOfString;long initial_memory = 0;try {FileReader localFileReader = new FileReader(str1);BufferedReader localBufferedReader = new BufferedReader(localFileReader, 8192);str2 = localBufferedReader.readLine();// 读取meminfo第一行,系统总内存大小arrayOfString = str2.split("\\s+");for (String num : arrayOfString) {Log.i(str2, num + "\t");}// 获得系统总内存,单位是KBint i = Integer.valueOf(arrayOfString[1]).intValue();//int值乘以1024转换为long类型initial_memory = new Long((long) i * 1024);localBufferedReader.close();} catch (IOException e) {}return Formatter.formatFileSize(context, initial_memory);// Byte转换为KB或者MB,内存大小规格化}
2、获取手机可用运行内存
/*** 获取android当前可用运行内存大小* @param context*/public String getAvailMemory(Context context) {ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);ActivityManager.MemoryInfo mi = new ActivityManager.MemoryInfo();am.getMemoryInfo(mi);// mi.availMem; 当前系统的可用内存return Formatter.formatFileSize(context, mi.availMem);// 将获取的内存大小规格化}
当前应用使用的运行内存大小
/*** 获取当前应用使用的内存大小** @return 单位 MB*/private double sampleMemory() {ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);double mem = 0.0D;try {final Debug.MemoryInfo[] memInfo = activityManager.getProcessMemoryInfo(new int[]{android.os.Process.myPid()});if (memInfo.length > 0) {final int totalPss = memInfo[0].getTotalPss();if (totalPss >= 0) {mem = totalPss / 1024.0D;}}} catch (Exception e) {e.printStackTrace();}return mem;}
获取应用的缓存大小
1、获取应用缓存大小
/*** 获得缓存大小** @param context* @return* @throws Exception*/public String getTotalCacheSize(Context context) {long cacheSize = 0;try {cacheSize = getFolderSize(context.getCacheDir());if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {cacheSize += getFolderSize(context.getExternalCacheDir());}} catch (Exception e) {e.printStackTrace();}return getFormatSize(cacheSize);}private long getFolderSize(File file) throws Exception {long size = 0;try {File[] fileList = file.listFiles();for (int i = 0; i < fileList.length; i++) {// 如果下面还有文件if (fileList[i].isDirectory()) {size = size + getFolderSize(fileList[i]);} else {size = size + fileList[i].length();}}} catch (Exception e) {e.printStackTrace();}return size;}
2、清除应用缓存
/*** 清除缓存** @param context*/public void clearAllCache(Context context) {deleteDir(context.getCacheDir());if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {deleteDir(context.getExternalCacheDir());}}private boolean deleteDir(File dir) {if (dir != null && dir.isDirectory()) {String[] children = dir.list();for (int i = 0; i < children.length; i++) {boolean success = deleteDir(new File(dir, children[i]));if (!success) {return false;}}}return dir.delete();}
就这些方法吧,记录下,以防下次需要又找不到了!
Android 如何获取运行内存和总运行内存等相关推荐
- 75.android 简单的获取当前可用运行内存,总运行内存,获取包含系统软件在内的所有内存,获取系统参数显示的内存大小。
//第一步 写个SystemMemory类来获取当前可用运行内存和总运行内存: public class SystemMemory {/*** * 获取android当前可用运行内存大小* * @pa ...
- Android 如何获取视频的总时长
在做视频的时候,往往需要获取视频的总时长,比较常用的就是用getDuration()方法获取,但是在获取的时候总是显示获取到的值为-1,在网上找答案的时候,大多解决方案写的都比较简略,对于我这样入门没 ...
- Android 获取手机存储总大小,系统占用空间
一.Android 存储介绍及通常查询大小 手机存储有两种,内置内存和外置内存(SD),目前可扩展内存的机型正在减少,大部分是内置存储的手机,内置128G.256G已经很常见,但如果有扩展功能的话,买 ...
- android 获得ram大小,Android中获取(RAM)总运存大小跟可用运存大小
Android中获取(RAM)总运存大小和可用运存大小 //获取可用运存大小 private long getAvailMemory(Context context){ // 获取android当前可 ...
- Android之获取手机基本信息、内存信息、网路信息、电池信息,等一共18项数据
获取手机信息,代码复制可用,开发工具为:Android Studio 1.手机品牌 2.手机型号 3.屏幕分辨率 4.像素密度 5.屏幕尺寸 6.Android 系统版本 7.运行内存 8.储存空间 ...
- Android之获取应用程序(包)的大小-----PackageManager的使用(二)
http://blog.csdn.net/qinjuning/article/details/6892054 通过第一部分 << Android中获取应用程序(包)的信息-----Pack ...
- android中获取时间
android中获取时间 1)通过calendar类获取 Calendar calendar = Calendar.getInstance(); int moth = calendar.get(Cal ...
- android获取sd的大小,Android实现获取SD卡总容量,可用大小,机身内存总容量及可用大小的方法...
本文实例讲述了Android实现获取SD卡总容量,可用大小,机身内存总容量及可用大小的方法.分享给大家供大家参考,具体如下: 可能有的同学不知道系统已经提供了获取获取SD卡总容量,可用大小,机身内存总 ...
- Android之获取手机IMEI号和IMSI号
首先我们看一下IMEI号和IMSI号是什么: (1)IMEI(International Mobile Equipment Identity,国际移动身份识别码):是由15位数字组成的"电子 ...
- android手机获取系统短信sqlite数据库并查看内容
一个朋友过来,准备玩玩Ta的android手机,给我之前还要拿回去看看,结果是ta把短信加密了(第三方短信),怕我知道ta的啥见不得人的秘密.o(∩_∩)o 哈哈.TA威胁我说加密了,看我怎么看.结果 ...
最新文章
- rsync ssh文件同步
- conda 修改缓存路径
- C语言 一个字符常量占几个字节
- PTA浙大版python程序设计题目集--第1章-2 从键盘输入三个数到a,b,c中,按公式值输出 (30 分)
- 北漂周记--第2记--培训开始
- VIVOtech:使用近场通信(NFC)技术的免接触付款解决方案的市场领导者
- 在物欲横流,心浮气躁的今天,毕业生靠什么来维持自己的梦想?
- python单向链表和双向链表的图示代码说明
- elementui 弹窗 显示详细信息_ElementUI中el-table双击单元格事件并获取指定列的值和弹窗显示详细信息...
- 下列哪个python语句是正确的_Python笔试面试题_牛客(待完善)
- PHP的日期时间函数date()
- c语言sizeof输出单位,急,求大神!C语言中sizeof问题
- python能做什么工作知乎-python能做什么知乎
- 【支付宝商家中心】支付功能签约,产品签约失败;修改经营类目;系统检测到您的账户不符合国家相关法律法规或《支付宝用户服务协议》约定
- 德尔菲法 Delphi 专家判断
- 史上最经典摇滚柔情曲15首
- pygame小项目 ~ 3 :Python完成简易飞机大战
- nodejs+express解决微信公众号token验证失败
- outs.write(baos.toByteArray()) 内存溢出
- 假如易立竞吐槽程序员。。。