为什么同一个应用ios比Android大那么多呢?

  • 俏皮的林
  • 2024-03-09
  • 86
  • 共15人发表观点
网友「俏皮的林 」发表观点
2024-03-11

iOS应用通常比Android应用大的原因有几个:

1. **架构差异**:iOS应用通常使用Objective-C或Swift编写,这些语言编译后的二进制文件可能比使用Java或Kotlin(Android的主要开发语言)编译的文件大。

2. **资源文件**:iOS应用通常包含为多种设备分辨率优化的图片资源,如@2x和@3x分辨率的图片。这意味着同一个应用可能需要为iPhone、iPad等不同设备提供不同尺寸的资源,导致应用大小增加。

3. **平台特性**:iOS平台的特性,如统一的设计语言和硬件规格,可能使得开发者不需要为不同的设备和版本编写特定的代码。这可能导致应用中包含更多的通用代码,从而增加应用大小。

4. **编译和优化**:iOS应用的编译和优化过程可能更倾向于生成高效的代码,而不是最小化应用大小。这可能导致生成的二进制文件更大。

5. **平台限制**:iOS平台对应用的安装包大小有限制,但这通常足够大,使得开发者更关注应用的性能和功能,而不是大小。

需要注意的是,这些只是一些可能的原因,具体的应用大小取决于多种因素,包括应用的功能、设计、开发语言等。

网友「西瓜新逻辑 」发表观点
2024-03-13

首先下载时所用的IPA和APK都是ZIP文件,比较压缩前的体积才有意义,iOS上46M的QQ就是因为一点没压缩。其次反对最上面说是因为资源文件的问题,不是每家公司的美工都爱偷懒的。对于常见的应用,个人认为体积大的原因是是iOS上的可执行文件比Android上的字节码文件体积大太多,以常用的QQ为例。iOS上的可执行文件在未压缩前是44M,压缩后是20M这3个是库文件

网友「阿伟仔2 」发表观点
2024-03-18

作为开发人员,虽然前几个答案不能说错,但是感觉没有提到点子上

我们做游戏使用unity开发,不管是iOS还是安卓,两个平台使用的资源都是一样的,编译都用IL2CPP,iOS同时支持32位和64位,安卓同时支持arm和x86,打出来的原始包,安卓会大得多。但是iOS上传到App Store后,包体的大小大致要大一倍,为什么?因为App Store显示的是手机安装后的实际大小,而不是开发人员上传的ipa大小,也就是说压缩比越大的app显示出来的大小与ipa本身差别越大。而apk上传Google play后包体大小几乎不会有变化,这就是导致App Store的包要比安卓大很多的根本原因

另外apk是可以优化的,例如只出arm的包可以再小很多,因为现在x86架构基本上只有模拟器在用

例如腾讯的捕鱼来了,在App Store将近800m,但是官网下的apk才200m

苹果这样做的好处,是希望用户不要来问为什么我的手机明明还有200m空间,下载一个80m的应用会一直失败啊…

网友「胡胖子 」发表观点
2024-03-13

这是一个很冷门,但很有趣的问题!我之前也发现了,今天特意去看了下!发现差别真的很大!就拿现在的微信来说!ios版本的241.9MB,而微信的却只有58.4MB!这里说明下,ios版的微信版本现在是6.6.3而安卓是6.6.2,虽然版本不同,但安装包的差别是真的大!

这里就需要科普下ios和安卓的文件格式了!ios的安装包格式是“ipa”而安卓的安装包格式是“apk”

ipa:文件实质是一个 zip压缩包(不是 rar 或 7z 包),包含 3 个组件:payload 目录下的 .app 目录,这个是软件的主程序;iTunesArtwork,实质是一个无后缀名的 png 图片,用来在 iTunes 中显示图标;iTunesMetadata.plist,记录购买者信息、售价等数据。解压后即可使用,不需要安装,卸载的话也只用删除程序文件即可。

apk:APK是AndroidPackage的缩写,即Android安装包(apk),是安卓的应用程序的文件格式。安卓专属,区别于iOS应用程序的ipa,pxl,deb格式,wp8(10)应用程序的xap(appx)格式。

(注:以上均来自百度百科)

两个压缩包解压后如下图,左边是“ipa”,右边是“apk”的

网友「lisongye 」发表观点
2024-03-19

感谢邀请,首先苹果和安卓的系统是不一样的,苹果ios采用的是类UNix的操作系统,而Android是基于Linux的开源操作系统。

安卓手机在安装软件时,只需要提取程序所需要的执行文件、图片以及数据,这些文件都直接保存在压缩过的安装包内,每次使用时从安装包进行解压读取,经过压缩的文件会比较小。

当然苹果的安装包虽然大一些,在安装后app store会将其删除,不需要进行其他操作,而安卓可能就需要手动进行删除了。所以不必担心苹果软件过大带给手机的负担。

欢迎留言吐槽,感谢您的阅读、转发、关注、点赞、收藏,「校园早班车」等你~

网友「少年不熬夜老来不头秃 」发表观点
2024-03-18

应用中的资源包括可执行程序,媒体文件及其他配置文件。

其中可执行文件和配置文件都是比较小的,配置文件几k,可执行文件几M。

文件比较大的就是媒体资源文件。通常就是图标,启动图,引导图,其他应用内的按钮图标。

1,桌面图标:

这个Android 和iOS应该差别不大。

在iOS没有LanchScreen.Storyboard出现之前,启动图是要iPod设备,4寸屏,3.5寸屏,4.7寸,5.5寸,iPad设备各设计一套启动图的。还要分横屏竖屏的情况。

3,引导图和按钮图标

iOS需要1x 2x 3x三套。

4,其他资源

iOS因为审核很严,不能留下载可执行文件的后门,所有功能必须在提交审核的时候打包进来,游戏图片资源除外。

除了以上媒体资源的区别外,iOS app通常会同时适配iPad和iPhone,apple watch。

另外iOS应用内还有寄生应用程序,比如Today 应用,共享文件应用,自定义键盘。共享文件应用

网友「绝境里的出路 」发表观点
2024-03-10

我觉着作为iOS开发人员的话,我意识到现在使用swift语言编译,包确实会变大,因为ipa里边包含了一个swift支持动态库支持文件相当的大。大约在60/70M左右(解压缩之后),以及上传打包的bitcode编译参数设定(用于不同架构分发二进制文件以及LLVM编译和优化)我认为当swift更加成熟,或苹果整个底层用swift语言重新架构之后(也或者说完美兼容到不需要一些桥接文件支持的时候)ipa文件会变得更小,运行速度更快

网友「大象聊科技 」发表观点
2024-03-19

同一个应用在iOS平台上通常比在Android平台上大,这主要是由于以下几个原因:

封闭性:iOS系统是封闭的,应用程序的审核非常严格,这就要求开发商提交的应用程序必须符合苹果公司的标准,这可能会使得应用程序的大小增加。与此相反,Android系统是开放的,应用程序的审核并不严格,这可能会导致应用程序的大小减少。优化:iOS系统对于应用程序的优化非常到位,开发商为了在App Store中获得更好的排名,会尽可能地优化应用程序,这可能会导致应用程序的大小增加。而Android系统的优化并不是很到位,开发商可能并不会像在iOS系统中那样去优化应用程序,因此应用程序的大小可能会减少。功能:iOS系统的功能比较全面,开发商会根据iOS系统的特性来设计应用程序,这可能会导致应用程序的大小增加。而Android系统的功能并不是很全面,开发商可能会根据Android系统的特性来设计应用程序,因此应用程序的大小可能会减少。压缩率:Android应用程序的压缩率较高,这意味着在安装时,应用程序的体积可能会被压缩得比较小。而iOS应用程序的压缩率较低,这意味着在安装时,应用程序的体积可能会比较大。

网友「追求自己平淡的生活 」发表观点
2024-03-11

同一个应用在iOS和Android上的大小差异可能有几个原因:

1. 不同的开发工具和技术:开发者可能使用不同的开发工具和技术来构建iOS和Android版本的应用。这些工具和技术可能会导致不同的文件大小。

2. 不同的库和依赖项:应用可能会使用不同的第三方库和依赖项,这些库在不同平台上可能有不同的版本和大小。

3. 资源适配:开发者通常需要为不同的设备屏幕尺寸和分辨率提供不同的图像和资源。这可能导致iOS和Android版本的应用包含不同的资源,从而影响应用的大小。

4. 操作系统差异:iOS和Android操作系统本身也有差异,可能会影响应用的大小。例如,某些操作系统功能或库在一个平台上可能是内置的,而在另一个平台上可能需要额外的安装或打包。

总之,应用在不同平台上的大小差异通常是由多种因素共同影响的结果,包括开发工具、依赖项、资源适配和操作系统差异。

网友「预数临疯 」发表观点
2024-03-15

iOS应用程序的大小比Android应用程序大的原因有很多,其中一些原因可能是:

- iOS应用程序通常使用更高质量的图像和视频,这些资源需要更多的存储空间。

- iOS应用程序通常使用更多的代码来实现相同的功能,这可能会导致更大的文件大小。

- iOS应用程序通常使用更多的第三方库和框架,这些库和框架也需要更多的存储空间。

- iOS应用程序通常是为特定设备优化的,这可能会导致在其他设备上运行时出现问题。

网友「秘密丶AOV 」发表观点
2024-03-10

同一个应用在iOS和Android平台上大小差异较大的原因有多个。首先,需要了解iOS和Android的架构和设计差异。

iOS和Android的架构不同,因此在编译应用程序时会产生不同的结果。iOS使用的是基于ARM架构的处理器,而Android则使用基于ARM和x86架构的处理器。这意味着同一个应用在iOS和Android上的编译结果可能会有所不同,因此应用在两个平台上的大小也会有所差异。

其次,iOS和Android平台的开发工具和环境也有所不同。iOS开发使用的是Xcode和Objective-C或Swift语言,而Android开发使用的是Android Studio和Java或Kotlin语言。这两个开发环境和语言的差异也会影响应用的大小。例如,Objective-C和Java语言通常会产生较大的应用文件,而Swift和Kotlin语言可以生成更小的应用文件。

另外,iOS和Android平台对应用的安全性和性能要求也有所不同。iOS平台相对较为封闭,对应用的审核比较严格,要求应用必须满足一定的安全标准。为了满足这些要求,开发人员可能需要在应用中包含一些额外的文件和代码,这也会增加应用的大小。而Android平台相对较为开放,对应用的审核较为宽松,因此应用的大小可能相对较小。

此外,开发人员在设计应用时也会考虑不同平台的用户体验和功能需求。iOS和Android平台的用户界面设计和交互方式有所不同,因此开发人员可能会对应用的功能和界面进行适配和优化。这可能导致应用在不同平台上的大小差异。

网友「行众万里 」发表观点
2024-03-13

同一个应用iOS比Android大那么多的原因如下:

iOS和Android的压缩率不同 。iOS的压缩率较低,所以安装包相对较大。

iOS和Android的应用程序语言和开发框架不同 。iOS使用Objective-C和Swift,使用Storyboard、Interface Builder等开发框架,而Android使用Java和Kotlin,使用XML、Activity等开发框架。

iOS和Android的App Store审核机制不同 。iOS的App Store审核较为严格,所以开发者需要将更多的资源文件上传至App Store,导致安装包变大。

iOS和Android的屏幕分辨率和操作习惯不同 。iOS的屏幕分辨率较高,操作习惯与Android也有所不同,所以开发者需要在不同分辨率和操作习惯之间做适配,导致安装包变大。

网友「喜庆的橙子D 」发表观点
2024-03-17

我所知道的是ios和安卓设计层次的问题,安卓自带所有类型的虚拟机和数据包,这些数据包就算用不上的时候也会自动运行于内存,不能关闭,好处是多而全,需要什么数据包的时候不用重新载入,对RAM容量要求高,对存取速度要求比较低,但是由于占用cpu资源,产生大量无效运算,使得安卓响应速度不如iOS ,也就是在主界面流畅程度不及iOS,出现划动有延迟,不跟手的现象。而iOS除了使用object-c精简指令集使得运算大大简化之外,内存管理机制,墓碑后台机制,使得IOS在不运行大型程序的时候负担很小,就仅仅是一个主界面,而IOS的app都需要自带数据包,需要的时候载入,不需要时立刻清除,对内存容量要求不高,但对存取速度要求非常高,在安卓动不动8核CPU,6G内存的今天,IOS还停留在2-3G,双核处理器。账面数据并不能说明安卓旗舰机硬件更好,iPhone使用的内存到目前都是速度最快的,虽然容量不到安卓旗舰的一半,但成本可能更高。而处理器单核性能才是决定软件运行速度的基础,核心数再多,运行一个软件也只能用到一个,否则可能出现运算冲突的问题。IOS是一个时间段内全力全速做好一件事,把所有硬件资源都发挥到极致,而安卓也是一个时间段运行多种任务,速度嘛就别太指望了,各有各的优点,就用户体验而言,IOS更适合手机,在电力资源有限的手机上,减少无效运算可以保证续航,所以iPhone 的电池容量一直都不大,安卓更适合电脑,在拥有无限电量的情况下,安卓可以做更多的事,安卓手机动不动4000以上的电池容量是最简单粗暴提高续航的方法,因为8核cpu实在是个耗电大户。两种系统在设计理念上存在较大差异,说不清谁好谁坏,安卓可以任意改界面,拷贝文件也可以用传统的电脑复制粘贴的方式。iOS为了流畅,限制多,需要在电脑上运行一些辅助的软件,类似爱思助手来实现文件传递,对于懂电脑,喜欢折腾的人来说,安卓更有折腾价值,IOS你直接使用就好,更适合喜欢简单的人。

网友「坚持的螃蟹 」发表观点
2024-03-15

因为iOS应用和安卓应用有本质的不同,iOS应用开发是由源代码直接编译成系统可执行文件,因此编译后的文件就非常大(可以理解为二进制文件)。而安卓应用开发之后并没有直接编译成系统可执行文件,而是编译成中间层机器码,供虚拟机解释运行,这种中间层的机器码并不是最终的可运行文件,文件与源码差不多大小,因此安卓应用包相对会小很多。但在安卓5,谷歌发布了新的虚拟机,会把安卓的中间层机器码编译成本地可执行代码,提高了运行效率,app不需要解释运行,但是也会牺牲存储的空间,因此安卓4之后的版本,同一个应用安装之后,会占用更多的存储空间。这就是经常说的“拿空间换时间”还是“拿时间换空间”。

网友「厦门东哥 」发表观点
2024-03-12

同一个应用程序在 iOS 和 Android 上大小不同的原因可能有以下几个方面:

1. 平台差异:iOS 和 Android 是两个不同的操作系统,它们的应用程序二进制格式和运行环境不同。因此,应用程序需要针对不同的平台进行编译和优化,这可能导致同一个应用程序在 iOS 和 Android 上的大小不同。

2. 应用程序功能差异:同一个应用程序在不同的平台上可能具有不同的功能。例如,某些应用程序可能在 iOS 上具有更多的功能,而在 Android 上则可能没有这些功能。这些功能差异可能导致应用程序大小不同。

3. 应用程序资源差异:同一个应用程序在不同的平台上可能使用不同的资源,例如图像、音频和视频文件等。这些资源的大小可能不同,从而导致应用程序大小不同。

4. 应用程序架构差异:同一个应用程序在不同的平台上可能采用不同的架构,例如 native 应用程序和混合应用程序等。这些架构差异可能导致应用程序大小不同。

5. 应用程序商店差异:不同的应用程序商店可能对应用程序大小有不同的限制。例如,苹果公司的 App Store 对应用程序大小的限制比 Google Play 商店更严格。因此,应用程序开发者可能需要在不同的平台上进行优化,以满足不同的应用程序商店的要求。

总之,同一个应用程序在 iOS 和 Android 上大小不同的原因可能是多方面的,包括平台差异、应用程序功能差异、应用程序资源差异、应用程序架构差异和应用程序商店差异等。

网友评论(0)

暂无网友评论