之前有看到一些网页或者论坛有提到:iOS 按千位计算大小。
在计算文件大小,特地留意了这个问题。
分别在微信、QQ、App中选择相同图片,并计算原图大小,结果如下:
三者数值相差并不大。但如果按1000计算,App计算出的图片大小为5.54M。与微信、QQ算出的数值相差较大,因此可以反推出微信与QQ是按照1024计算。
5543350.0/1000/1000 = 5.54M
5543350.0/1024/1024 = 5.29M
//计算图片文件大小
-(CGFloat)imageSize{
ALAssetRepresentation *rep = [self.asset defaultRepresentation];
CGFloat size = [[NSNumber numberWithLongLong:rep.size] floatValue];
return size;
}
//单位转换
-(NSString *)imageSizeString{
if(self){
CGFloat size = [self imageSize];
if (size >= 1024*1024*1024) {
return [NSString stringWithFormat:@"%.2fG",size/(1024*1024*1024)];
}else if (size >= 1024*1024) {
return [NSString stringWithFormat:@"%.2fM",size/(1024*1024)];
}else if(size>0){
return [NSString stringWithFormat:@"%.0fK",size/1024];
}else{
return @"";
}
}
return @"";
}
手机存储空间计算结果比较如下:App与微信计算的大小一样,剩余空间都是83.4G,已使用空间30G。
以上测试均基于以下设备,可能不同设备、版本、软件版本,测试结果有所差异。
设备:iPhone7p
版本:10.1.1
微信版本:6.3.30.33
QQ版本:6.5.8.437