异常记录(7)——算是6的延续,继续踩坑,获取的应用大小该除以1000还是1024,以及神秘数字684032...

异常6里面,叙述了取应用大小在api26以上以及以下要用不同的方法,然后我换完方法之后继续踩坑

坑1:应用大小和系统显示大小不同

手机:honor 6x android 7.0, 没有什么问题,获取应用大小之后(获取应用大小方法见异常记录(6))以这样的方式转换单位

public String getCodeSize(){
         DecimalFormat df = new DecimalFormat("0.00");
         if (mCodeSize*1.0 / 1024 < 0) {
            return "Calculating...";
         } else if (mCodeSize*1.0 / 1024 == 0) {
            return mCodeSize + "B";
         } else if ((mCodeSize / (1024 * 1024)) <= 0) {
            return df.format((mCodeSize / 1024.0)) + "KB";
         }else {
            return df.format(((mCodeSize / 1024.00) / 1024.00)) + "MB";
         }
   }

项目显示大小:9bce1d7540ad10aa034b2f9a7cf5fe4c84d.jpg

系统显示大小:793218afa4d441042b64ffdee746f0fe900.jpg

如图显示,并没有什么问题

但是,当我换用另一部手机

手机:小米6,android8.0

代码打印大小:

项目显示大小:40d99f200713690caee1725eced0301aaac.jpg

系统显示大小:df0968c2e9877166f270f377019eb77c067.jpg

明显,一个是除以1024一个是除以1000……

然后我百度不知道这个要怎么搜,跑去问朋友了,朋友给我提供了一下方法,实测可用

public String getCodeSize(Context context) {
   return Formatter.formatFileSize(context, mCodeSize);
}

这里一个小问题,这个方法自带的kb单位,是kB,我们需要的是KB,一个大写,一个小写,自己替换一下就好

 

坑2:

如图

2bb86b52830914cba359b5af309e1ae1fdc.jpg

代码里面是这个大小:

c412e1be73c1bdedaef14b47d0f1936b5b6.jpg

这个大小和系统大小相差甚远,暂时还不知道原因和解决方法,等我解决回来更新(咕咕咕)

转载于:https://my.oschina.net/u/3620480/blog/3079147

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值