安卓为什么不做成苹果的运行逻辑
1. iphone与安卓的运行机制有什么区别为什么ios系统那么流畅andriod为什么达不到ios
首先Android是在虚拟机中运行的 Jaca
Android 没有 iOS 流畅的原因并非 Java GC 导致暂停,也不是因为 Android 运行的是 Java 编译的 bytecode 而 iOS 运行的
native code,根本的原因是,iOS 的 UI 渲染采用实时优先级,而 Android 的 UI
渲染遵循传统电脑模式的主线程普通优先级。
这听起来似乎很抽象和难以理解,但大家可以尝试一下,使用你的 iPad 或者
iPhone,打开 Safari,然后加载一个复杂的网页,例如新浪网首页,当网页加载到一半的时候,把你的手指放在屏幕上,并且四处移动,你会发现所有的渲染立刻停止,在你拿开手指前,网页永远也不会继续加载。
而在 Android 设备上重复这个操作,你会发现,浏览器会继续尝试加载页面并渲染 HTML,试图多任务同时进行,因此对于 Android来说,一个高效的双核处理器是很重要的,这也就是 Galaxy S II 能够非常平滑的原因。
在 iOS 中 UI 渲染过程具有绝对的优先等级,当用户接触到 iPhone 的触摸屏后,iOS 中所有的进程都将停止,UI 线程拦截了所有的事件,系统会将所有资源用于渲染
UI 过程,以保证用户界面的实时渲染优先级。而在 Android 系统中 UI 渲染过程的优先级别却没有那么高,也就是说当你触摸 Android 手机屏幕的时候,系统后台的程序并没有停止,仍然在继续运行之中,比如下载和查收短信,这样系统 UI 获得的资源就不够,这就是 Android 系统不流畅的原因。
由于这个原因,新发布的 Galaxy Nexus,甚至配备四核处理器的话说 EeePadTransformer Prime 平板电脑都无法保证顺滑的操作体验,这些设备只能与 3 年前的 iPhone 顺滑程度相比,那么 Android 团队为什么不从根本解决这个问题呢?
除了 UI 渲染之外,Android 缺乏有效的的硬件加速也是一个原因,在不同的 Android 手机上的硬件加速存在巨大差异,而苹果是唯一一个既做硬件又做软件的手持设备公司,只有苹果可以在硬件中插入对软件的优化,使得基于苹果芯片的设备不仅省电,而且流畅。
实际上,Android 的开发工作在第一代 iPhone 发布之前就已经开始了,原始 Android 原型体被设计成为使用键盘手机的设备,也就是黑莓手机的竞争对手。UI 渲染优先级别在有键盘的手机上并没有那么重要。iPhone 发布之后,Android 小组为了快速推出能与 iPhone 竞争的产品,迅速将 Android 改成触摸屏手机系统,但那时重写 UI 框架已经不可能了。因为如果这样 Android 应用市场中的所有程序将变得不可用,这种关系将一直处于恶性循环之中。
2. 安卓为什么不能做到像 iOS 一样流畅
一般来说,手机的流畅度是跟硬件成正比的。从2010至今,安卓手机硬件上都有了很大的飞跃,硬件不再成为制约流畅度的瓶颈了。单单以手机内存为例,一些安卓旗舰手机都已经4GB了,相比之下,iPhone 6才仅仅1GB内存。
那么问题来了,苹果手机在配置被安卓完爆的情况下,为什么反而更流畅呢?
原因很多种,其中最重要的是后台机制的不同,试想如今的APP都是动辄几十M的,而苹果1GB内存不但够用而且这么流畅,它的“伪后台”功不可没。
一:伪后台与真后台的不同
既然有“伪后台”那必然也会有“真后台”,“真后台”就是当你打开一个APP后,它会一直在后台运行,除非你主动去关闭或者内存不够用了。而且任何应用都可以同时进行,它们可以同时连接网络,GPS定位,推送消息等等,这样的后台机制便是”真后台“,Android系统就是”真后台“。
而苹果手机的iOS系统却刚好相反,当你按下Home键回到桌面的时候,你之前运行的程序大多数都会冻结,你可以理解为从内存中写入到ROM中。等到你再打开这个APP,iOS会重新加载的画面,由于这个过程很快,所以你几乎察觉不到它是在重新加载。
要想证明这一点很简单,比如你用iPhone看视频或者玩游戏,当你切出去的时候它们会自动暂停在那里,视频也不会再继续缓冲,因为这个APP被冻结了。如果要想实现真后台,那只能越狱了。
当你的手机返回桌面之后,iOS系统会分析判断这些后台程序,你经常使用且有用的就保留,哪些是没用就进行冻结,以保证内存最大功效的利用,继而带来系统的流畅感。这也就是为什么iPhone虽然只有1GB内存,但却足够使用的原因。
二:“真伪后台”优缺点分析
伪后台的优势:
内存利用率非常高,系统运行流畅,高效率的内存使用以及很多应用退到后台断开网络连接等原因带来的是耗电量的大幅度降低,手机的发热量减少。这也就是为什么iPhone 6电池容量仅1810mAh,续航却很不错的原因。
伪后台的劣势:
除了当前在使用的程序或个别重要的程序是真正运行的,大部分隐藏在后台的程序都是静止的,这也就是很多朋友称为“墓碑式”后台,你在平常生活中可能感觉不到什么,但有时候可能会延迟或者遗漏重要的消息通知。
真后台的优势:
当系统在运行一个应用程序时,可以同时在后台处理多个任务,让你在玩游戏,看书的同时,还可以缓存电影,缓冲网页,更新软件,地图导航等等众多任务同时进行,给用户带来极大的方便。
真后台的劣势:
内存占有率极高,后台运行的程序还会继续联网工作,处理器不得不一直进行极快的运算处理,从而带来卡顿,手机电量消耗高,手机发热等后果,这也是有些安卓手机掉电异常快的原因。
另外值得一提的是,“伪后台”与“单任务”不是一个概念。简单来说,“单任务”指的是只能单独运行一个任务,“伪后台”是一种后台机制,可以运行多个任务,但系统会自行限制后台APP的类型和数量。
3. 安卓手机为什么不和苹果一样设置,安卓手机一直是运行几个软件,而苹果只运行一个
那是因为它是ios,如果一样,那就不叫ios啦。
4. 为什么安卓手机不能像苹果一样挂好多程序都不卡
iOS系统
iOS的前身是Apple的OSX,也是基于UNIX系统开发的。而OSX已经有十多年的历史了,从底层内核到软件架构都是稳步发展过来的。iOS使用ObjectivC这个古老的语言来做开发。
Android已升级至5.0版本
而Android是Google基于Linux的,严格意义上讲Android并不是一个Linux系统,它没有Linux的xwin,没有glibc,缺乏一整套标准的Linux程序。Android应用绝大部分都是使用JAVA开发,跑在Dalvik虚拟机上(一小部分使用NDK)。
简单来说,就是iOS的执行效率更高,没有一个中间层的过度,而Android则麻烦一些,基本上应用都要经过虚拟机,执行效率会有所降低,运行速度当然也会被损耗。那么也就是说,假设两款手机硬件配置相同,那么iOS运行一个程序肯定是要比Android运行一个程序要快的。
也就是说,任何智能手机系统都是要建立在一个好的硬件基础上的,即便是iOS也不能做到真正意义上的低配高能,这也是为什么苹果逐年都在升级自己的硬件配置。iOS好用是公认的,但它绝不是可以让老手机成为万年青的肥料。
5. 安卓系统,为什么要用虚拟机运行程序,为什么不能做到苹果系统那么流畅呢,谢谢了
因为安卓机有上千家厂商,硬件结构不一构,注定无法采用统一的机器码,所以只能使用虚拟机来处理。
6. 我在想一个问题就是安卓怎么就不能做到苹果那么流畅呢安卓是除了苹果以外最好的操作系统吗为什么就做
安卓也很流畅啊,我的渣渣红米2增强版就流畅到一逼。不流畅最大的原因是1g内存吧,然后是安卓版本和厂商的优化。还有非常重要一点: 动画。换汤不换药的MIUI 7换上5.0版本的动画就明显好看很多,给人感觉舒服多了
7. 安卓安卓的后台运行机制和渲染机制为什么不能做到和苹果的一样
自身问题
8. 安卓为什么不学苹果制定统一标准
苹果只有apple一家厂商,所以可以统一。
而安卓是靠着开源来赢取市场的,安卓厂家何其多,各厂家都是基于原版安卓来做定制化的。
谷歌官方可以统一标准,但也只有自己会遵守,第三方厂家(如华为三星等)却不会遵守,因为他们都要做自己的定制化服务,比如自家云存储等等
所以看到官方已经推出Android8.0系统了,而国内许多厂家还是5.1,6.0
安卓想要统一标准,除非像苹果一样,闭源
9. 为什么安卓做不出像苹果一样的应用软件是因为经济利益关系吗
不是的,例如一个单机游戏,安卓系统有时间就一定破解的了,而苹果则不太可能,因为苹果系统很封闭,用户除了一些基本的东西,什么都修改不了
你想想,游戏破解了就意味着赚不到钱,应用开发者会在一个赚不到多少钱的平台(安卓)付出多少呢?
主要就是安卓系统开放了源代码,,,用户除了系统框架,几乎什么都可以改
10. 安卓系统为什么不如苹果系统
个人认为原因有:1、苹果系统因为相对封闭,程序员需要在苹果制定的规则里面编程,自由度小,但相对的系统稳定性就好了;安卓系统自由度大,与之对应的系统稳定性就变差了;2、苹果系统软件性能优化比安卓系统做得好;3、苹果系统的硬件相对单一,软硬件兼容性问题没有安卓系统多,也使苹果系统稳定性比安卓好;4、苹果延续了苹果电脑时代优秀的图形图像处理性能;以上原因是苹果手机用不如安卓手机强大的硬件制造出了使用体验反而更好的手机,对应的价格也就更高了。不能单一的说安卓系统不如苹果系统,你看软件市场上苹果的应用就没有安卓的多。