Android获取系统储存以及内存信息的方法(一)
众所周知,Android的手机上的信息大部分都是可以通过代码获取的,比如说爱奇艺的离线储存功能上有一个最大储存大小/剩余储存大小的功能。
获取SD卡上的储存信息:
/**
* 获得SD卡总大小
*
* @return
*/
private String getSDTotalSize() {
File path = Environment.getExternalStorageDirectory();
StatFs stat = new StatFs(path.getPath());
long blockSize = stat.getBlockSize();
long totalBlocks = stat.getBlockCount();
return Formatter.formatFileSize(this, blockSize * totalBlocks);
}
/**
* 获得sd卡剩余容量,即可用大小
*
* @return
*/
private String getSDAvailableSize() {
File path = Environment.getExternalStorageDirectory();
StatFs stat = new StatFs(path.getPath());
long blockSize = stat.getBlockSize();
long availableBlocks = stat.getAvailableBlocks();
return Formatter.formatFileSize(this, blockSize * availableBlocks);
}
手机系统的内存也可以通过ActivityManager.getMemoryInfo()方法获取:如下:
获取系统的内存大小以及可用内存大小:
/**
* 获取系统内存大小
* @return
*/
private String getSysteTotalMemorySize(){
//获得ActivityManager服务的对象
ActivityManager mActivityManager = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
//获得MemoryInfo对象
ActivityManager.MemoryInfo memoryInfo = new ActivityManager.MemoryInfo() ;
//获得系统可用内存,保存在MemoryInfo对象上
mActivityManager.getMemoryInfo(memoryInfo) ;
long memSize = memoryInfo.totalMem ;
//字符类型转换
String availMemStr = formateFileSize(memSize);
return availMemStr ;
}
/**
* 获取系统可用的内存大小
* @return
*/
private String getSystemAvaialbeMemorySize(){
//获得ActivityManager服务的对象
ActivityManager mActivityManager = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
//获得MemoryInfo对象
ActivityManager.MemoryInfo memoryInfo = new ActivityManager.MemoryInfo() ;
//获得系统可用内存,保存在MemoryInfo对象上
mActivityManager.getMemoryInfo(memoryInfo) ;
long memSize = memoryInfo.availMem ;
//字符类型转换
String availMemStr = formateFileSize(memSize);
return availMemStr ;
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
Android中TextView文本高亮和点击行为的封装方法
这篇文章主要介绍了Android中TextView文本高亮和点击行为的封装方法,文中介绍的非常详细,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。2017-03-03
Android SharedPreferences实现记住密码和自动登录界面
本篇文章主要介绍了Android记住密码和自动登录界面的实现(SharedPreferences),具有一定的参考价值,感兴趣的小伙伴们可以参考一下。2017-02-02
Android编程仿Iphone拖动相片特效Gallery的简单应用示例
这篇文章主要介绍了Android编程仿Iphone拖动相片特效Gallery的简单应用,结合实例形式分析了Android图形拖动特效的实现步骤与相关操作技巧,需要的朋友可以参考下2016-10-10
Kotlin自定义View系列教程之标尺控件(选择身高、体重等)的实现
这篇文章主要给大家介绍了关于Kotlin自定义View系列教程之标尺控件(选择身高、体重等)实现的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧2018-07-07
基于Android MarginLeft与MarginStart的区别(详解)
下面小编就为大家分享一篇基于Android MarginLeft与MarginStart的区别(详解),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2017-12-12
Android Gradle Plug 4.1.0 升级后gradle获取manifest位置失败问题解决
这篇文章主要介绍了Android Gradle Plug 4.1.0 升级后gradle获取manifest位置失败问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-10-10
Kotlin高效实现 Android ViewPager2 顶部导航之动态配置与性能优化指
文章介绍了使用AndroidViewPager2和TabLayout实现高效顶部导航的方法,并提供了优化指南,包括避免不必要的Fragment实例化、动态配置页面、使用Kotlin特性减少冗余代码等,通过这些优化,代码变得更加高效、简洁和易于维护,感兴趣的朋友跟随小编一起看看吧2025-03-03


最新评论