双击Home ,会在 iPhone 底部呼出多任务切换条。用户在上面选择程序,即呼即出,简洁易用。甚至,完全不知道双击 Home ,你一样享受多任务的绝大部分好处。 iPhone 之所以几岁的小孩都会用,正源于软硬件上的这种简洁。但是,随着功能的增加,软件复杂度的增加不可避免,这是软件开发的热力学定律:墒的增加不可避免,软件生命周期的最后,难免归于混沌。还记得 Symbian 难以挪动对话框的八卦?或者 Palm OS5 那些谜一样的重启动?本文想说的是苹果这个看似简洁的多任务。
iOS 的三种多任务
第一种:保持现场
“保持现场”并非多任务,而是一种看起来像多任务的单任务。
按下 Home 后,程序自己保存状态。下次呼出,自己恢复保存下来的现场。看起来和没有退出过差不多。
这并非 iOS4 的新特性, Tweetie 在 iOS4 之前就支持了。
第二种:iOS4 多任务
“iOS4 多任务”是受限制的多任务。按下 Home ,程序切换到后台时仍保持在内存中,可以执行一些系统允许的动作:比如播放音乐。
iOS4 多任务的程序如果在后台无动作,那么表现和“保持现场”的程序差不多。有些程序,比如 Twitter for iPhone ,在“保持现场”的同时支持了 iOS4 多任务。
iOS4 多任务比“保持现场”更快,并且可以后台动作。坏处是会占用内存。而且,万一在后台被杀掉,又不支持“保持现场”,那么再载入会丢掉上次的状态。比如那个优雅但是功能不足的推特客户端新锐: Weet 。
第三种:真多任务
Safari ,Mail 等程序有真正的多任务权限:在后台可以无限制动作。
对手机而言,不限制这种多任务有些缺点。一个未知的程序可能会在后台执行很重的任务,让电力在用户无察觉的情况下消耗光。另外,安全性也不是很靠谱。
所以苹果仅允许少数几个程序拥有这个权限。甚至苹果自己也没有滥用: Messages , Photos 都是苹果的嫡系,却仅支持 iOS4 多任务而已。
关注此文的读者还看过: