ios多任务系统是怎样的工作原理
ios操作系统一直被人们所欢迎和使用,但是也有人们反应其中的多任务系统做得不怎么好,具体怎么解释呢?小编为大家整理了ios多任务操作系统的介绍,希望对大家有帮助。
1.什么是多任务操作系统
最近的智能手机系统都开始支持多任务,iOS从iOS4开始,而Android原生支持,其他的如WP7,webOS都支持多任务。但是,因为手机系统资源和硬件资源的限制,手机系统的多任务并不像我们在普通PC操作系统中使用的那样,而是有一定差异。我们提到多任务时,不同的人有不同的解释:1)向很多桌面系统(如windows 7,mac os X,Linux等)那样,确实有多个程序在同时运行,当你从一个任务切换到另一个时,他们一直在正常运行,一般不会被结束。2)仅仅是在不同应用程序间快速切换的功能。当你切换为其他程序时,原程序被挂起,暂停执行,因此当返回时,好像多任务在同时进行。
iOS 4 上的第三方软件在什么情况下会真正退出?有三种情况:
一、系统为了省出内存而终止某个程序。这时系统不会通知用户程序,用户无法捕捉该事件。
二、用户长按「抽屉」中的软件,点左上角的减号手动终止程序。
三、尚未为 iOS 4 重新编译的第三方软件是无法被冻结的,只要你退出了这个软件,它就直接被终止了。
2.ios多任务操作系统
手机系统的多任务往往介于两者之间,在第二种情况上做一些有限的扩展,而不像第一种情况那么强大。先说说ios。从iOS4开始支持多任务,iOS4.2有了重大升级而且可以在iPad上使用多任务了。iOS4只是称为快速应用程序切换(fast app switching),可以通过双击home键呼出。到iOS4.2,iOS有三种多任务:
第一种:iOS4 多任务
“iOS4 多任务”是受限制的多任务。按下 Home ,程序切换到后台时仍保持在内存中,可以执行一些系统允许的动作:比如播放音乐。iOS4 多任务的程序如果在后台无动作,那么表现和“保持现场”的程序差不多。有些程序,比如 Twitter for iPhone ,在“保持现场”的同时支持了 iOS4 多任务。iOS4 多任务比“保持现场”更快,并且可以后台动作。坏处是会占用内存。而且,万一在后台被杀掉,又不支持“保持现场”,那么再载入会丢掉上次的状态。比如那个优雅但是功能不足的推特客户端新锐: Weet 。
第二种:保持现场
“保持现场”并非多任务,而是一种看起来像多任务的单任务。按下 Home 后,程序自己保存状态。下次呼出,自己恢复保存下来的现场。看起来和没有退出过差不多。这并非 iOS4 的新特性, Tweetie 在 iOS4 之前就支持了。
第三种:真多任务
Safari ,Mail 等程序有真正的多任务权限:在后台可以无限制动作。对手机而言,不限制这种多任务有些缺点。一个未知的程序可能会在后台执行很重的任务,让电力在用户无察觉的情况下消耗光。另外,安全性也不是很靠谱。所以苹果仅允许少数几个程序拥有这个权限。甚至苹果自己也没有滥用: Messages , Photos 都是苹果的嫡系,却仅支持 iOS4 多任务而已。
android系统对多任务的处理相对成熟而简单些。
Android同样也拥有优秀的多任务能力,甚至于为了优化多任务的性能,他还十分有创意的使用了一种被称作“预热”的机制,以便加速常用程序的启动。
所有程序在运行时可以按”Home”键返回桌面
程序最小化之后,可以通过重新运行的方法来激活
按住”Home”可以调出最近运行过的6个程序,点击可以快速切换
必要时程序可以使用通知栏进行提醒
android 没有任务管理器,不过可以通过第三方的任务管理器来实现任务管理功能。android Home键调出的最近6个运行过的程序;以及强大的通知栏提醒。
其中一个改变,就是强化了很多的状态栏。只要程序需要,就可以在状态栏中放置通知。
对于唯一一个全局显示的状态栏而言,他显然是一个天生的导航系统。
在WM中也有同样的状态栏,但不同的是,状态栏仅仅是为了显示图标,其作用类似于Windows系统的托盘区域,不同的图标代表的意义可能是完全不同的
在Android中,尽管图标同样会显示在状态栏,但是无法被点击。唯一可以做的事情就是将状态栏脱下来,查看最近的通知消息
这是一个非常有意义的改进。尽管只是一个很细节的变化,但是他最大限度的避免了因为“同一个区域,不同的图标,完全不同的效果”对用户所造成的混乱。
当然,这也是一个非常优秀的导航。正在播放的音乐、QQ的状态,如果有需要的程序,都可以在这里显示;而将通知消息独立则最大程度避免了出现和WM相同的混乱。
Home键所调出的快捷菜单,其实根本就是一个简化版的任务管理器。他最大限度的简化了任务管理器给用户所带来的迷惑:毕竟身为一个普通用户,并不需要去关心内存占用之类的情况——只要系统始终流畅运行就好。
不过看来,这种设定并没有受到广泛的追捧。一个很大的问题在于,他没有明确的标记出究竟哪个才是正在运行的程序。已经被关闭的程序,和刚刚最小化的程序,看起来都是一个样子。于是,用户需要花费额外的成本去记忆究竟哪个才是正在运行的程序。相应的,这必然带来了糟糕的用户体验。再加之他这个预热的功能显然是“代替用户作出决定”最佳的反面教材,于是也就不难理解为何市场中各种第三方的任务管理器如此火爆了。
android 中退出程序时都不会自动退出,而是转入后台,以提高下次启动的速度。同样,android 的后台任务也会因为系统资源的限制而被系统终止而回收内存的资源。这对于系统的流畅运行时必不可少的。
本文仅对iOS4和android系统的多任务处理作一些描述性说明和一些浅显解释。笔者对手机系统应用不多,很多资料来源于网络。而且随着apple和google的更新,很多东西会随之改变。因此本文更多的是想引导读者进行思考一些我们平时可能忽略或者认为理所当然的东西。