IOS安装包比Android容量大的原因

 更新时间:2018年02月07日 10:57:14   作者:太书红叶  
这篇文章主要介绍了为什么IOS安装包比Android容量大的原因,如果你是一个IOS或者安卓开发者,学习下相关知识吧。

昨天ios的硕士实习小伙伴,咳咳。在疑惑这个问题,于是就各种找资料。最后只找到两个权威的链接,根据这两个权威的链接,整理如下:

ios的app包含所有版本。

在ios9之前,应用程序的所有版本我们都进行了下载和安装。这意味着不管你的手机需要app的什么图片和资源,所有屏幕尺寸的图片和资源都会被下载。

想想那是多少:

  • Non retina 3.5”
  • Retina 3.5”
  • Retina 4”, 4.7”, 5.5”
  • Non retina iPad full size and Mini
  • Retina full size, Mini and Pro

这些版本的图片与资源加起来不少哇。而且plus还包括64位和32位的。

Android可扩展布局与图片

另一方面,Android利用可扩展的布局,资源的布局可以扩展到任何大小,因此只需要一个副本。只有图标文件会有很多副本,但是最后也不过5次而已(我们现在基本都是2次罢了,xhdpi和xxhdpi)。

ps:在iOS 9中,苹果推出了App Thinning,这意味着App Store只会下载您的设备所需的资源。

ios与Android的区别

iPhone(.XIB)的UI定义文件比Android中使用的XML文件大得多。

与Android相比,代码加密在IOS中占用更大的空间。

其他可能的原因

另外也有人猜测,Android的应用程序可以运行在虚拟机中,而ios更接近于硬件,导致应用程序在编译的时候,多出了好多和底层交接的代码。当然这个猜测只是猜测而已,并不权威。

可能(不确定)IOS包括应用程序包中的引用库。

在android中,您可以将图像保存在3个独立的文件夹中,以进行不同的配置(ldpi,hdpi,mdpi)。

可能是android在安装过程中选择apt文件,而不包含所有文件。

开发平台的不同,Android很多的开发平台都能创建出一个apk文件,在我们手机中执行的时候程序运行在虚拟机上,而ios不同的开发平台打包的时候还要考虑到所打的包必须能够被x-code编译,因此打包又多了好多文件。(这个理由感觉有点扯淡了)

相关文章

  • 比较IOS开发中常用视图的四种切换方式

    比较IOS开发中常用视图的四种切换方式

    这篇文章给大家介绍了在IOS开发中常用视图的四种切换方式以及这四种方式的优缺点,这四种方式包括:push,pop、modal、切换窗口的根控制器和添加子视图,有需要的可以参考借鉴。
    2016-08-08
  • iOS自定义UITabBar中间按钮

    iOS自定义UITabBar中间按钮

    这篇文章主要为大家详细介绍了iOS自定义UITabBar中间按钮,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • 详解iOS14 Widget 开发相关及易报错地方处理

    详解iOS14 Widget 开发相关及易报错地方处理

    这篇文章主要介绍了详解iOS14 Widget 开发相关及易报错地方处理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • iOS实现双向滑动条效果

    iOS实现双向滑动条效果

    这篇文章主要为大家详细介绍了iOS实现双向滑动条效果的相关代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • 设计模式开发中的备忘录模式在iOS应用开发中的运用实例

    设计模式开发中的备忘录模式在iOS应用开发中的运用实例

    这篇文章主要介绍了设计模式开发中的备忘录模式在iOS应用开发中的实例,代码为传统的Objective-C,需要的朋友可以参考下
    2016-03-03
  • iOS10 App适配权限 Push Notifications 字体Frame 遇到的问题

    iOS10 App适配权限 Push Notifications 字体Frame 遇到的问题

    这篇文章主要介绍了iOS10 App适配权限 Push Notifications 字体Frame 遇到的问题,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • OC runtime学习笔记之关联对象

    OC runtime学习笔记之关联对象

    这篇文章主要介绍了OC runtime学习笔记之关联对象的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-09-09
  • iOS 泛型中nullable、null resettable、null kindof 用法详解

    iOS 泛型中nullable、null resettable、null kindof 用法详解

    这篇文章主要介绍了iOS 泛型中nullable、null resettable、null kindof 用法详解的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • iOS-Mac远程连接控制Window

    iOS-Mac远程连接控制Window

    这篇文章主要为大家详细介绍了iOS-Mac远程连接控制Window,苹果电脑远程连接控制Windows电脑,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • iOS中获取系统相册中的图片实例

    iOS中获取系统相册中的图片实例

    这篇文章主要介绍了iOS中获取系统相册中的图片实例,具有一定的参考价值没有需要的朋友可以了解一下。
    2016-11-11

最新评论