当前位置: 首页 > news >正文

服装网站开发方案swot如何制作简单网页

服装网站开发方案swot,如何制作简单网页,wordpress自定义分类发,重庆石柱网站设计公司一、Android 存储介绍及通常查询大小 手机存储有两种,内置内存和外置内存(SD),目前可扩展内存的机型正在减少,大部分是内置存储的手机,内置128G、256G已经很常见,但如果有扩展功能的话,买个乞丐版+SD卡也是美滋滋,毕竟厂家增加存储空间后手机定价也不便宜。言归正传,…一、Android 存储介绍及通常查询大小 手机存储有两种,内置内存和外置内存(SD),目前可扩展内存的机型正在减少,大部分是内置存储的手机,内置128G、256G已经很常见,但如果有扩展功能的话,买个乞丐版+SD卡也是美滋滋,毕竟厂家增加存储空间后手机定价也不便宜。言归正传,获取存储空间,很简单,使用中的 android.os.StatFs,传入需查阅的内存路径即可查询总内存大小,剩余可用空间,已用空间,示例代码如下: public void queryStorage(){StatFs statFs = new StatFs(Environment.getExternalStorageDirectory().getPath());//存储块总数量long blockCount = statFs.getBlockCount();//块大小long blockSize = statFs.getBlockSize();//可用块数量long availableCount = statFs.getAvailableBlocks();//剩余块数量,注:这个包含保留块(including reserved blocks)即应用无法使用的空间 long freeBlocks = statFs.getFreeBlocks();//这两个方法是直接输出总内存和可用空间,也有getFreeBytes//API level 18(JELLY_BEAN_MR2)引入long totalSize = statFs.getTotalBytes();long availableSize = statFs.getAvailableBytes();Log.d("statfs","total = " + getUnit(totalSize));Log.d("statfs","availableSize = " + getUnit(availableSize));//这里可以看出 available 是小于 free ,free 包括保留块。Log.d("statfs","total = " + getUnit(blockSize * blockCount));Log.d("statfs","available = " + getUnit(blockSize * availableCount));Log.d("statfs","free = " + getUnit(blockSize * freeBlocks)); }private String[] units = {"B", "KB", "MB", "GB", "TB"};/*** 单位转换*/ private String getUnit(float size) {int index = 0;while (size 1024 index 4) {size = size / 1024;index++;}return String.format(Locale.getDefault(), " %.2f %s", size, units[index]);}示例运行截图: 注:我手机只有内置存储,大小是 16G,用这个方法是不会把系统空间算进来的。计算SD卡容量,需要兼容不同厂家定制的挂载路径,只要有sd路径就可以查询容量,sd卡查询不在本文说明范围,可自行查找其他文章。 本文是为了实现查询手机存储总大小以及系统占用,所以需要使用Android的另一个类,存储管理 android.os.StorageManager,API地址 StorageManager 。 在 android 6.0 之前,只能查到共享卷即除系统外的内存大小,目前我没有找到其他可读取总内存的方法,如有请评论一下,在android 7.1 之后版本,StorageManager 提供一个方法 getPrimaryStorageSize 可以查询内置存储的总容量,所以在 6.0 - 7.0 版本也是不能查所有,以及计算系统的占用大小,7.1之后版本可以准确计算存储大小以及系统占用请求,如果你看到一些机型可以显示系统占用多少,有可能是厂商自行设计的API,具体你可以查看显示的总容量是否为自己购买的内存大小。下面进入正文。 二、类简介 StorageManager 从API level 9 (Android 2.3, Gingerbread) 引入,部分被hide修饰函数在不同android版本上区别较大,也有遇到过厂商会删除或者重写某些函数,所以在使用时要做好异常处理,因为NoSuchMethodException 很多。 基本函数,外暴露方法: allocate 函数,为你的应用申请空间,查询可用空间等cache 系统给应用提供的缓存obb 隔离文件系统,处理如游戏安装包的外置资源,减少APK大小StorageVolume 用户可以使用的共享/外置存储卷但重点是里面被隐藏的方法,让我们对手机总存储查询及系统占用计算提供了可能,至于为什么@hide,如果曾有在不同系统版本调用或者看过android源码,会发现各个版本区别特别大,况且这也不是一个特别需要的功能。所以我们将使用反射来做这个查询,但仍会有很大几率失败,厂商的定制修改若不按常路出牌,开发要么做特殊适配,否则也是失败。[允悲] 隐藏方法@hide: public @NonNull ListVolumeInfo getVolumes() 获取手机所有存储卷,内置和外置public long getPrimaryStorageSize() 获取内置存储大小,主要用来计算系统占用隐藏类 VolumeInfo 存储卷的基本信息三、查询 存储空间查询分两步,一是内置存储,二是外置存储。 系统大小,获取内置大小减去内置存储块大小(系统 = 内置总 - volume.getPath().getTotalSpace()) Talk is cheap,show me the code. 1. android 6.0 之前版本查询(6.0-7.0 版本也适用) 上面说过在 6.0 - 7.0 版本也是不能查总存储空间,以及计算系统的占用大小,所以可以直接通过 StatFs 来查询(代码在上面),不过外置存储的话需要去适配sd路径,比较麻烦。 下面是通过 StorageManager 做的内存查询,需做版本区分 public void query(){StorageManager storageManager = (StorageManager) getSystemService(Context.STORAGE_SERVICE);float unit = 1024;int version = Build.VERSION.SDK_INT;if (version Build.VERSION_CODES.M) {//小于6.0long totalSize = 0, availableSize = 0;try {Method getVolumeList = StorageManager.class.getDeclaredMethod("getVolumeList");StorageVolume[] volumeList = (StorageVolume[]) getVolumeList.invoke(storageManager);if (volumeList != null) {Method getPathFile = null;for (StorageVolume volume : volumeList) {if (getPathFile == null) {getPathFile = volume.getClass().getDeclaredMethod("getPathFile");}File file = (File) getPathFile.invoke(volume);totalSize += file.getTotalSpace();availableSize += file.getUsableSpace();}}} catch (NoSuchMethodException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();} catch (InvocationTargetException e) {e
http://www.w-s-a.com/news/452252/

相关文章:

  • 外贸网站建站要多少钱南昌优化排名推广
  • 做公司网站的尺寸一般是多大企业管理网站
  • 苏州网站设计公司兴田德润i简介做签证宾馆订单用啥网站
  • 网站页面设计工具做网站租空间
  • 做智能网站系统百度提交入口
  • 网站建设代理商电话网站规划和建设方案
  • 双桥区网站制作seo 首页
  • 电子商务网站建设前期准备wordpress域名指向二级目录
  • 汕头建站网站模板淮北做网站电话
  • 手机做logo用什么网站服务器安全防护
  • 课程分销的网站怎么做北京企业网站建设方案
  • 吴兴区建设局网站湖北企业网站建设
  • 网页与网站的区别是什么2023年8月份新冠
  • 唐山网站建设外包公司安卓手机怎么搭建网页
  • 国内做网站最大的公司计量检测网站平台建设方案
  • 重庆沛宣网站建设网页制作初学者
  • php网站漂浮广告代码网络营销跟网站推广有啥区别
  • wordpress调用图片优化型网站建设的基本要求
  • 郑州模板网站建设策划公司做网站怎么赚钱滑县电
  • 东昌府聊城网站优化秦皇岛市妇幼保健院
  • 做网站能赚钱吗网页升级访问通知天天更新
  • 做网站使用什么软件的免费招聘网
  • 宁波网站建设公司推荐哪家淄博网站制作公司服务
  • 做网站网页挣钱不免费主题wordpress
  • 如何提高你的网站的粘性手机网站整站模板下载
  • 学校网站建设制度网站相关推荐怎么做
  • 昌图网站wordpress 视频外链
  • 企业网站要怎么建设重庆住房城乡建设部网站
  • html5网站特点seo教程培训班
  • 深圳网站建设哪个最好网站 多语