当前位置: 移动技术网 > IT编程>移动开发>Android > Android获取系统储存以及内存信息的方法(一)

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

2019年07月24日  | 移动技术网IT编程  | 我要评论

死而复生的男人,邯郸画时代,老北京布鞋官网

众所周知,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 ;
  }

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网