安卓和ios内存差距为什么那么大
安卓和ios内存为什么差距那么大,安卓和ios差距原因有哪些?下面是小编精心为你们整理的关于安卓和ios内存差距为什么那么大的相关内容,希望你们会喜欢!
安卓和ios内存差距为什么那么大_2017安卓和ios差距原因
iOS的APP比Android大这么多
这问题放在过去,有个流行的说法是,由于苹果的iPhone、iPad有好几种不同的屏幕分辨率,所以iOS的APP里面包含了几套图像资源,导致了App占用巨大,而Android系统中对图像的处理要求不高,所以不同设备用了通用的资源,APP自然就小了。
这个解释虽然有一定的道理,但放在今时今日就不大成立了。所以下面要讲讲两个系统的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安装机制。
安卓和ios内存差距为什么那么大相关文章: