自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

iOS操作系統(tǒng)多任務(wù)設(shè)計(jì)的繁與簡(jiǎn)

移動(dòng)開(kāi)發(fā) iOS
本文想說(shuō)的是蘋果這個(gè)看似簡(jiǎn)潔的多任務(wù)。iOS 的三種多任務(wù):保持現(xiàn)場(chǎng)、iOS 4 多任務(wù)和真多任務(wù),包括iOS虛擬設(shè)備原理、復(fù)雜的多任務(wù)和簡(jiǎn)潔的表現(xiàn)形式等……

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

iOS操作系統(tǒng)多任務(wù)設(shè)計(jì)的繁與簡(jiǎn)

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

扯的有點(diǎn)遠(yuǎn),本文想說(shuō)的是蘋果這個(gè)看似簡(jiǎn)潔的多任務(wù)。

iOS 的三種多任務(wù)

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

“保持現(xiàn)場(chǎng)”并非多任務(wù),而是一種看起來(lái)像多任務(wù)的單任務(wù)。

按下 Home 后,程序自己保存狀態(tài)。下次呼出,自己恢復(fù)保存下來(lái)的現(xiàn)場(chǎng)??雌饋?lái)和沒(méi)有退出過(guò)差不多。

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

第二種:iOS 4 多任務(wù)

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

iOS 4 多任務(wù)的程序如果在后臺(tái)無(wú)動(dòng)作,那么表現(xiàn)和“保持現(xiàn)場(chǎng)”的程序差不多。有些程序,比如 Twitter for iPhone ,在“保持現(xiàn)場(chǎng)”的同時(shí)支持了 iOS 4 多任務(wù)。

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

第三種:真多任務(wù)

Safari ,Mail 等程序有真正的多任務(wù)權(quán)限:在后臺(tái)可以無(wú)限制動(dòng)作。

對(duì)手機(jī)而言,不限制這種多任務(wù)有些缺點(diǎn)。一個(gè)未知的程序可能會(huì)在后臺(tái)執(zhí)行很重的任務(wù),讓電力在用戶無(wú)察覺(jué)的情況下消耗光。另外,安全性也不是很靠譜。

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

內(nèi)存

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

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

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

真多任務(wù)?有些后臺(tái)服務(wù)是安全的,比如通知管理。有些就沒(méi)那么幸運(yùn)了, Mail, Safari 都有被干掉的可能。

復(fù)雜

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

保持多任務(wù)優(yōu)勢(shì)的同時(shí),避免消耗過(guò)多電力。

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

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

當(dāng)然,網(wǎng)絡(luò)服務(wù)的部分, iPhone 的通知構(gòu)架也為此貢獻(xiàn)了力量。

寫 Tweet 的時(shí)候,可以收到個(gè)通知,然后切換出去看一眼郵件 Copy 點(diǎn)東西過(guò)來(lái)真的這么難?

需要各種不同的真假多任務(wù)類型?

硬件的高度集成?

還要在美國(guó)部署一堆高性能的網(wǎng)絡(luò)服務(wù)器來(lái)推送消息?

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

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

簡(jiǎn)潔

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

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

善意的謊言

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

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

圓謊

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

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

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

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

正確定義問(wèn)題

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

最后的話

的確,蘋果很善于說(shuō)“不”。但這顯然不是他的全部本領(lǐng)。隨著 iOS 的進(jìn)化,蘋果給我們演示了一個(gè)更加高難度的動(dòng)作:

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

【編輯推薦】

  1. Windows Phone 7 免費(fèi)線下培訓(xùn)火熱報(bào)名中
  2. iOS平臺(tái)應(yīng)用開(kāi)發(fā)的敏捷設(shè)計(jì)流程
  3. 不編程也開(kāi)發(fā) 13個(gè)無(wú)需編程的iOS開(kāi)發(fā)工具
  4. iOS優(yōu)秀應(yīng)用instagram的用戶體驗(yàn)報(bào)告
責(zé)任編輯:佚名 來(lái)源: ifanr
相關(guān)推薦

2013-02-20 09:25:53

UbuntuUbuntu手機(jī)Ubuntu平板操作系

2014-05-09 12:59:26

iOS移動(dòng)互聯(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)多任務(wù)學(xué)習(xí)

2010-04-22 15:14:12

Aix操作系統(tǒng)

2012-05-04 09:49:34

進(jìn)程

2010-04-15 14:40:26

Unix操作系統(tǒng)

2015-07-14 16:15:22

2024-04-03 07:56:50

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

2021-06-06 06:03:31

iOS 15 App 蘋果

2009-12-23 17:47:15

Linux操作系統(tǒng)

2010-04-19 18:13:48

Unix操作系統(tǒng)

2023-01-09 00:08:37

2009-12-09 17:25:19

Linux操作系統(tǒng)

2015-06-30 11:14:54

iOS安卓WP

2010-03-03 14:16:53

Android操作系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)