这个解释虽然有一定的道理,但放在今时今日就不大成立了 。所以下面要讲讲两个系统的APP文件大小有什么不一样 。
安装文件分析
我们都知道 , 在Android中的安装文件类型为apk,iOS为ipa , 其实简单来讲,这两个安装文件都是个压缩包 。
以微信APP的apk(版本为6.5.10)为例,原文件大小在Windows上(NTFS文件系统)显示为44.1MB,经过WinRAR解压缩后占用空间为93.7MB 。而微信APP的ipa(版本为6.5.11)原文件大小为145MB,解压缩后占用186MB 。
咋一看,ipa无论解压缩都确实要比apk大上不少,那来看看两个系统的安装文件里面包含了什么 。
微信apk对比ipa文件大小
一个apk文件解压缩后,主要有assets、lib、META-INF、r、AndroidManifest.xml、classes.dex、resources.arsc这几个文件和文件夹 。
微信apk内含文件和文件夹
当然这里不是编程课堂,所以只讲下这些文件中占容量最大的一般是assets目录、lib目录、res目录和classes.dex文件 。
- assets目录存放静态文件,app需要用到一些音效、字体、表情包等都在此 。
- lib目录为依赖库文件,现在的apk大多都是包含armeabi的lib库,如果apk兼容x86,还会有x86的依赖库 , 这样这个目录就会更大一点了 。
- r即res、resource目录,主要存放资源文件,如图片、影像文件 。
- classes.dex文件则是Android中Dalvik虚拟机的可执行文件,由JAVA下的class文件编译而来 。
iOS的ipa安装包则相对简单一些,主要文件夹为Payload,在Windows上会显示里面有一个APP名字命名的文件夹,如微信为WeChat.app,包括了APP所有需要的执行和资源文件 。
微信ipa主要文件夹为WeChat.app
对比两个安装文件,微信APP的主执行文件为WeChat,文件大小为132MB,其它文件其实只有54MB 。Android的主执行文件包括classes.dex文件和lib目录,微信APP里面这些文件大小为52.6MB,而其它文件为41.7MB 。
iOS版微信主执行文件大小
Android版微信主执行文件大小
由此可见,两个系统的同样一个APP,安装包里面除开主要的执行文件,其它资源文件占用空间大小相差不多,并非是文章开头所说的不同苹果设备需要不同的套图,导致安装文件巨大 。
但仅从安装文件来看,iOS的APP确实要比Android版的大好几倍 , 那下面还要讲到两个系统的APP安装机制 。
APP安装机制
以前Android主要采用Dalvik虚拟机,执行apk中的classes.dex文件 , 但后来为了提高APP启动和运行速度 。从4.4.4版本开始,Android换用了ART虚拟机,apk安装到系统的过程中会进行预编译,把apk中的dex文件编译成oat文件,把字节码经过JIT即时编译器转换为机器识别码,所以apk安装包中有关程序部分的文件更像是一堆代码,占用空间较小 。
Android 4.4开始引入的ART虚拟机
iOS则不一样 , 由于iOS最早是基于mac电脑上的OS X同源开发 , 所以在APP的安装方式上也相似 , 简单来说iOS的APP本身就是一个大文件夹 , 类似Windows上解压即用的绿色软件,当你从App Store中下载安装到iPhone上,更像是一个复制文件的过程 。
Android的安装机制,使得APP安装文件的大?。?不代表安装到手机上之后的大小,而在iOS上则是安装文件有多大,安装完后基本上也是多大 。那么实际情况如何呢?
实测APP安装后占用空间
这里在基于Android 7.1.2的Lineage 14.1和iOS 10.3.2系统上,对比微信和网易云音乐两个APP在应用商店上文件大小和安装后文件大小 。
在应用商店上,微信APP的标注大小仅为44.1MB,但事实上APP安装完成后 , 查看大小却增大到104MB 。网易云音乐APP标注大小为29.8MB,安装后为54.33MB 。
- 微信QQ在AppStore中消失只是后台搜索故障罢了
- 苹果11app总是闪退,iphone开app老是闪退
- 华为应用下架,华为手机app停止更新
- 苹果下架大量app,苹果应用商店游戏有限制吗
- 东芝电视app进不去怎么回事,东芝电视app安装方法
- 声控必备app还没被下架的有哪些,声控用什么软件
- 好型体脂秤app使用教程「好型体脂秤app使用教程」
- ios打不开相册,苹果ios 15.2打不开软件相册
- 小米米家app服务异常用户反馈设备全部离线怎么回事,米家电视设备离线
- 闺蜜团APP,记录闺蜜的app