Android和iPhone在应用程序级别的多任务实现之间的主要区别是什么?
(请不要把它变成一个主观的狂热争论吗?)
Android和iPhone在应用程序级别的多任务实现之间的主要区别是什么?
(请不要把它变成一个主观的狂热争论吗?)
Answers:
这不是您问题的答案,但是有必要澄清一下,两个操作系统都是完全多任务处理的[1](因为它们可以并且确实运行多个进程)。
您的问题显然是关于应用程序级多任务处理的(“我可以在使用另一个应用程序时让一个应用程序运行吗?”),这是该术语的一个相对较新的用法,即使定义确实很明显,也不一定总是定义明确的示例(例如在阅读电子邮件时收听Pandora)。具体来说,只要保存或恢复其状态,许多应用程序就无需在后台运行即可向用户展示自己,就好像它们从未停止运行一样。必须执行定期操作(例如检查邮件或弹出警报)的应用程序也不需要在后台连续运行;它们可以偶尔由操作系统调用。最大的问题通常是在后台运行时需要恒定CPU的应用程序,例如Pandora。
总的来说,苹果公司为阻止或阻止连续运行的后台应用程序付出了更大的努力,而Android似乎对此更加开放。但是它们正在融合,因为苹果公司允许Pandora之类的应用程序在后台运行,而Android提供了更丰富的工具,可以在轮询或保存状态足够时阻止不必要的后台任务。
据我所知。
iPhone多任务处理受到更多限制。多任务活动必须是以下之一:
[感谢Gizmodo!]
另一方面,Android允许以与PC类似的方式实现真正的多任务处理。
在被指控为Android fanboi之前,请先解释一下。iPhone多任务处理模型在大多数情况下已绰绰有余,并且避免了Android系统随附的许多问题(即内存不足)。
Android具有与PC不同的应用程序级多任务处理概念。数据,如何查看数据以及如何对数据进行操作之间还有更多的脱节之处。
一次只能打开一个应用程序视图,但是对数据的操作可以在后台进行。这使应用程序开发人员在切换应用程序,退出应用程序和启动新应用程序时很难像桌面一样。有时感觉无法杀死一个应用程序,但有时又感觉像不可能切换到一项任务再返回。这取决于应用程序开发人员的操作方式。
您可以一次运行多个后台进程,它们的调度时间与桌面应用程序一样。Linux内核将选择如何确定哪些优先级获得内存和CPU资源。当手机确定其内存不足时,它将开始杀死东西以腾出更多内存。这与Linux或大多数其他OS正常行为的方式不同。
程序的数据始终可用。只要该应用程序有权访问数据,它就可以使用。您不需要在后台运行的服务即可使用。
Apple有非常具体的方式来执行多任务。它们是Android允许方式的子集。只有特定类型的应用可以在后台运行,并且必须对其进行专门编程才能运行。
台式机与这两种方式都非常不同。每个应用程序的视图,数据和数据处理逻辑通常被锁定在一起。我想说WebOS,Symbian和Maemo / Meego是移动设备上的示例。如果某个应用程序确实将其数据和后台处理公开给其他“视图”,那么它将倾向于是一个非常特殊的应用程序。