偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

iOS操作系統(tǒng)多任務設計的繁與簡

移動開發(fā) iOS
本文想說的是蘋果這個看似簡潔的多任務。iOS 的三種多任務:保持現(xiàn)場、iOS 4 多任務和真多任務,包括iOS虛擬設備原理、復雜的多任務和簡潔的表現(xiàn)形式等……

雙擊 Home ,會在 iPhone 底部呼出多任務切換條。用戶在上面選擇程序,即呼即出,簡潔易用。甚至,完全不知道雙擊 Home ,你一樣享受多任務的絕大部分好處。 iPhone 之所以幾歲的小孩都會用,正源于軟硬件上的這種簡潔。

iOS操作系統(tǒng)多任務設計的繁與簡

但是,隨著功能的增加,軟件復雜度的增加不可避免,這是軟件開發(fā)的熱力學定律:墑的增加不可避免,軟件生命周期的最后,難免歸于混沌。還記得 Symbian 難以挪動對話框的八卦?或者 Palm OS5 那些謎一樣的重啟動?

扯的有點遠,本文想說的是蘋果這個看似簡潔的多任務。

iOS 的三種多任務

第一種:保持現(xiàn)場

“保持現(xiàn)場”并非多任務,而是一種看起來像多任務的單任務。

按下 Home 后,程序自己保存狀態(tài)。下次呼出,自己恢復保存下來的現(xiàn)場??雌饋砗蜎]有退出過差不多。

這并非 iOS 4 的新特性, Tweetie 在 iOS 4 之前就支持了。

第二種:iOS 4 多任務

“iOS 4 多任務”是受限制的多任務。按下 Home ,程序切換到后臺時仍保持在內(nèi)存中,可以執(zhí)行一些系統(tǒng)允許的動作:比如播放音樂。

iOS 4 多任務的程序如果在后臺無動作,那么表現(xiàn)和“保持現(xiàn)場”的程序差不多。有些程序,比如 Twitter for iPhone ,在“保持現(xiàn)場”的同時支持了 iOS 4 多任務。

iOS 4 多任務比“保持現(xiàn)場”更快,并且可以后臺動作。壞處是會占用內(nèi)存。而且,萬一在后臺被殺掉,又不支持“保持現(xiàn)場”,那么再載入會丟掉上次的狀態(tài)。比如那個優(yōu)雅但是功能不足的推特客戶端新銳: Weet 。

第三種:真多任務

Safari ,Mail 等程序有真正的多任務權限:在后臺可以無限制動作。

對手機而言,不限制這種多任務有些缺點。一個未知的程序可能會在后臺執(zhí)行很重的任務,讓電力在用戶無察覺的情況下消耗光。另外,安全性也不是很靠譜。

所以蘋果僅允許少數(shù)幾個程序擁有這個權限。甚至蘋果自己也沒有濫用: Messages , Photos 都是蘋果的嫡系,卻僅支持 iOS 4 多任務而已。

內(nèi)存

說多任務會牽扯些內(nèi)存管理。 iPhone 不能用硬盤(閃存)虛擬內(nèi)存,所以內(nèi)存的容量是限制死的。

不支持 iOS 4 多任務和真多任務的程序,按下 Home 之后 10 秒左右會被殺掉,內(nèi)存釋放。

iOS 4 多任務程序通過 Home 退出后仍會占用內(nèi)存。但是系統(tǒng)也隨時會把他殺掉。尤其是在支持多任務,卻悲劇性的只有256m 內(nèi)存的 iPad 和 iPod touch 4 上。(不過, iPhone4上, iOS 4 的多任務在程序真正凍結(jié)之后(后臺,無動作),似乎會被壓縮。)

真多任務?有些后臺服務是安全的,比如通知管理。有些就沒那么幸運了, Mail, Safari 都有被干掉的可能。

復雜

在內(nèi)存,屏幕和電力都嚴格受限的手機上面,蘋果在追求一個不可能的任務:

保持多任務優(yōu)勢的同時,避免消耗過多電力。

為此,在多任務管理上,蘋果獨自發(fā)展了一個挺復雜的方案。 Android 提供虛擬機和自動內(nèi)存管理等更多先進特性,但是其實現(xiàn)未必比蘋果的這套更復雜。

而且,不僅軟件,硬件上也下了功夫: iPhone4 高度集成了各種元件,在狹小的空間內(nèi)為電池留出了足夠的空間。

當然,網(wǎng)絡服務的部分, iPhone 的通知構架也為此貢獻了力量。

寫 Tweet 的時候,可以收到個通知,然后切換出去看一眼郵件 Copy 點東西過來真的這么難?

需要各種不同的真假多任務類型?

硬件的高度集成?

還要在美國部署一堆高性能的網(wǎng)絡服務器來推送消息?

別忘了手機上,多任務和電力幾乎分別處在蹺蹺板的兩頭。而蘋果的目標,卻是要兩頭討好。現(xiàn)有電池技術的限制下,為了兼顧電力,這種復雜性可能真的是必要的。

(當然,很多人認為讓用戶多揣塊電池出門也不是不可接受的。)

簡潔

而且,蘋果又在追求另一個不可能的任務:讓復雜的方案,表現(xiàn)的簡潔。

有些人要怒了,又多任務,又省電,又簡潔,好處怎么都讓蘋果占了呢?沒辦法,除了技術,他在這方面還真的又~有一手。

善意的謊言

iOS 完全掩蓋了多任務的不同狀態(tài)。系統(tǒng)里沒有任何一個地方能讓用戶區(qū)分出多任務的類型:所有程序都在一個地方,沒有多任務狀態(tài)標記,操作也沒有不同:Springboard 呼出,Home 退出。

掩蓋多任務狀態(tài)相當于一個善意的謊言,這個不難。據(jù)說不少四歲寶寶都已經(jīng)是過來人了。

圓謊

比較說謊,圓謊才有點挑戰(zhàn)。要知道,憑生活大爆炸里 Sheldon 的智商,都圓的一塌糊涂。

掩蓋多任務狀態(tài)后,就需要保證動作的一致性。雙擊 Home 呼出多任務切換欄你會發(fā)現(xiàn)個有趣的設計:壓根不能多任務的程序,比如 Instapaper ,也會出現(xiàn)在“多任務”切換欄中。

工程師可能不滿意,不占內(nèi)存,沒有動作,卻放個快捷方式? 用戶在這滿懷希望的刪掉 Instapaper ,卻沒有終結(jié)程序釋放內(nèi)存,這不是是忽悠用戶嗎?

首先, iOS 是個圓謊高手:用戶無從知道內(nèi)存狀態(tài)。更重要的,作為一個不知道多任務狀態(tài)的用戶, Instapaper 出現(xiàn)在這才是合理的。

正確定義問題

“多任務”問題的關鍵是: 用戶到底想通過多任務得到什么效果?操作系統(tǒng)教科書的作者再 NB ,和用戶比較,他的定義也不重要。知道你到底要什么,取舍才有余地。

最后的話

的確,蘋果很善于說“不”。但這顯然不是他的全部本領。隨著 iOS 的進化,蘋果給我們演示了一個更加高難度的動作:

復雜的解決問題,簡潔的表現(xiàn)結(jié)果。

【編輯推薦】

  1. Windows Phone 7 免費線下培訓火熱報名中
  2. iOS平臺應用開發(fā)的敏捷設計流程
  3. 不編程也開發(fā) 13個無需編程的iOS開發(fā)工具
  4. iOS優(yōu)秀應用instagram的用戶體驗報告
責任編輯:佚名 來源: ifanr
相關推薦

2013-02-20 09:25:53

UbuntuUbuntu手機Ubuntu平板操作系

2014-05-09 12:59:26

iOS移動互聯(lián)網(wǎng)

2010-04-16 14:16:23

Unix操作系統(tǒng)

2015-06-17 10:41:50

2022-04-14 11:44:25

LiteOS線程鴻蒙

2010-02-26 17:47:07

2009-06-19 20:38:49

Linux操作系統(tǒng)

2023-11-07 07:13:31

推薦系統(tǒng)多任務學習

2010-04-22 15:14:12

Aix操作系統(tǒng)

2012-05-04 09:49:34

進程

2010-04-15 14:40:26

Unix操作系統(tǒng)

2010-04-19 18:13:48

Unix操作系統(tǒng)

2009-12-23 17:47:15

Linux操作系統(tǒng)

2009-12-09 17:25:19

Linux操作系統(tǒng)

2024-04-03 07:56:50

推薦系統(tǒng)多任務推薦

2019-07-05 10:04:10

操作系統(tǒng)Android OS

2009-12-14 17:36:18

2022-11-02 07:23:06

2009-07-23 18:43:25

操作系統(tǒng)LinuxWindows

2023-01-09 00:08:37

點贊
收藏

51CTO技術棧公眾號