顯示廣告
隱藏 ✕
※ 本文為 angelplume.bbs. 轉寄自 ptt.cc 更新時間: 2011-10-19 11:35:33
看板 MobileComm
作者 felaray (<^)<)
標題 [討論] 為何WP7比Android還順? 從設計概念說起
時間 Wed Oct 19 01:27:00 2011


※ [本文轉錄自 WindowsPhone 看板 #1EdQ4F_y ]

看板 WindowsPhone
作者 felaray (<^)<)
標題 [討論] 為何WP7比Android還順? 從設計概念說起
時間 Tue Oct 18 23:53:46 2011



不論在座使用何種手機、搭載哪種作業系統,想必都對Windows Phone7時有所聞。
有些流言指出使用者跑去試用WP7,真的很順,跟iOS不惶多讓。但也有另一派的會反駁
"程式又不多"。

所以到底傳聞是真是假?到底WP7的速度是否和app的數量有關呢?


曾經版上有人是原先Android的用戶,跑去試用WP7手機,由於在Android有著"記憶體不足"
的前車之鑑,所以在WP7手機上面拼命開程式。打開了所有的程式,令人驚奇的是:居然還
是很順!


這真是太神奇了!
為什麼?下面就是為什麼。

如果你認為我只是在吹捧WP7而不屑一顧的話,你可以在這邊就關掉這篇文章,然後一廂情
願的跟人說android沒有app的話也很快。一年後你發現新的app已經迫使你換新的手機,而
WP7卻依舊可以用舊款手機安裝多款新的app。如果屆時你感到不解,歡迎你繼續來閱讀這
篇文章。



概念

在Android裡面,程式開了許多個,如果不關掉的話就會造成app一直吃著系統資源,最明
顯的例子是有人反映網路流量暴增,以為被盜用了。結果原來是各種需要保持連線的app沒
有完全關掉,用戶以為不管他就不吃流量了,進而造成系統資源持續被瓜分的情形。


用這個例子說明記憶體問題,隨著app的大小不同,所會占用的記憶體也不一。而Android
把常用的app預放在記憶體裡面,所以很多用戶會覺得:怎麼可用記憶體這麼少? 因此,很
多記憶體釋放的app就因而誕生。


說了這麼多Android,那WP7呢?只要用戶開了很多app,照理來說也是吃了很多資源阿!

其實不然。在WP7裡面,Mango 採用了所謂的"墓碑模式"(Tombstone),簡單來說,當使
用者從某個程式跳出來,或是切換到其他程式的時候,系統會把這個程式的狀態儲存起來
,然後把硬體資源釋放出來,因此記憶體裡面就不會佔著一堆 App,影響系統的順暢度。

所以我如果原本在用導航軟體查看地圖,突然間需要上網查資料,當我叫出網頁的同時,

墓碑模式會幫我把導航軟體使用的狀況給存起來,然後釋放掉所使用的資源,以便下一個
app的使用。這樣可以確保機器資源的有效運用,不被浪費。

當然WP7的用戶自然也不用去找什麼記憶體清除app了。


App上架效能檢測(這邊我僅針對我有上架過的WP7做說明。我不知道Android有沒有)

當WP7開發人員千辛萬苦寫了一款通用遊戲機模擬器,可以玩XBOX360、PS3、PSP的遊戲,
雖說要載入30秒,這看似很強大的軟體,等這一點點時間也算值得!但是當你要上架以後
發現被打槍,執行軟體效能檢測才發現超過了微軟所定下的遊戲規則:"程式載入太久"


這才發現原來程式載入太慢也會被APP Hub打槍。

所以這逼的開發人員必須要精簡自己的程式、調校軟體已獲得更優的效能,而不是像
Android一樣一昧的提升自己的硬體規格,想用更高規格的硬體來hold住整個場面,到最後
彷彿沒有雙核心就無法執行太多軟體似的。應該是開發商要配合手機硬體才對,而不是手
機硬體規格一直追著App來跑。更何況更高規格的硬體效能可是一把兩面刃,雖說可以提升
用戶的流暢感,但是卻相對造成更高的功耗,這會讓手機的待機時間更為縮短。



對於有學過程式的人來說,即使是課堂學到的,老師們總是會千叮萬囑的交待效能的重要
,寫程式除了功能漂亮以外,簡潔的程式碼也是大家致力追求的目標。

我想,如果您有努力看完這篇我花了兩個小時才打完的文章,或許這篇文章不一定能深度
完全解答效能的問題,但是起碼是一個分水嶺。千萬別再用App數量來評論流暢度了。這
兩者根本不同的概念。


備註:如果你是開發人員..如果你的程式需要背景多工(例如用戶一邊放音樂一邊看FB)
這樣請在開發的時候想辦法讓系統不要讓你的程式變成墓碑!

--
KevinLomax:樓下w96284cn                                         07/25 13:32
w96284cn:你當我那麼宅每篇都回嗎?                                07/25 13:36

--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.62.70.141
felaray     :如果有問題 請勘誤。1F 10/18 23:54
felaray     :現在想想 微軟又沒給我錢 我幹嘛這麼累的打文章阿XD
※ 編輯: felaray         來自: 61.62.70.141         (10/19 00:00)
jeremyxchaos:推!!3F 10/19 00:02
BirthStone  :這篇可以轉到手機版讓大家看看!4F 10/19 00:04
jaccl       :推!!5F 10/19 00:04
fleetly     :推~~6F 10/19 00:05
mrxjohn     :順跟APP數是兩回事...順是真的 APP數少也是真的7F 10/19 00:12
felaray     :app少是因為"中文"的app少XD 我app比例中:英 4:68F 10/19 00:13
echo0504    :iOS好像也是暫停背景程式,所以mango的多工跟iOS一樣?9F 10/19 00:15
felaray     :您看我這篇文章幾乎沒提到iOS..因為我沒用過! XD10F 10/19 00:16
Riyuberg    :看了也感覺跟ios一樣 可是我的touch偶爾還是會因會11F 10/19 00:19
Riyuberg    :短時間開過的程式太多而頓或跳掉 希望WP7記憶體管理
Riyuberg    :能做的比ios好
我剛剛的推文說服不了自己,稍微查了一下,iOS的程式即使在背景執行,也會吃到資源。
而我的文章應該要寫更清楚一點:WP7同時間只會執行1個程式,如無例外,通通變墓碑!

我是在某個iOS app介紹的網頁中看到:各位在升iOS4之後,多了背景執行的功能,卻也因
此常常忘了把背景的軟體關掉,而把記憶體吃光光,甚至還會出現個位數。當IOS記憶體過
低時,再開其他軟體就會Lag,甚至感覺道明顯的操作不順,這時候先要把背景程式一個一
個關掉,不過總覺得這個動作很麻煩,有時候要連按十幾次才能全部關閉,真的太不方便了。

所以大膽推測iOS 4的背景執行也會吃掉資源。不過iOS真的打心底就抗拒,不是很熟。
有錯請告知 謝謝!

iOS 4/5的文章在這邊找到一篇 http://chris959.blogspot.com/2011/06/ios-5.html
請看此章節:背景凍結的關閉
※ 編輯: felaray         來自: 61.62.70.141         (10/19 00:30)
candyangela :WP7.5不是可以一邊放音樂一邊玩FB?14F 10/19 00:36
Handway     :請問WP7.5不支援adobe flash會不會有不方便的地方15F 10/19 00:37
Handway     :我也在考慮wp7.5可是擔心會不方便
kerenboy    :樓上的問題當然要問你自己阿 會常用flash當然就不方17F 10/19 00:44
kerenboy    :阿不然  也沒有那麼多flash需求就還好吧
Handway     :老實說我就是不知道有哪邊有用到flash..是第一次要買19F 10/19 00:46
Handway     :純粹擔心有的網頁會打不開
nosecoolie  :說實在的 FLASH大部份都是遊戲21F 10/19 00:47
nosecoolie  :網頁有FLASH的話 那塊區域就會是個XX 不過還是能瀏
BenShiuan   :FB小遊戲-.-23F 10/19 00:47
nosecoolie  :覽其它地方24F 10/19 00:48
echo0504    :我iOS用了兩年了,還沒擔心過網頁打不開的問題25F 10/19 00:48
echo0504    :是有,但是其實很少,根本不重要
nosecoolie  :不過要看MLB啊~ 或是某些購票系統之類的就會是FLASH27F 10/19 00:48
Handway     :OK..感謝大家的回答~~ 對WP7.5很心動阿~28F 10/19 00:48
kenandrew   :所以WP7就是回到作業系統最原始的程序狀態轉換三態?29F 10/19 00:49
nosecoolie  :我也是IOS用戶 只有每次打季後賽的時候會幹而已XD30F 10/19 00:49
kenandrew   :我指的是凍結.備妥.執行   凍結=墓碑?!31F 10/19 00:49
echo0504    :所以從墓碑模式回復是重新再載入程式的意思嗎?32F 10/19 00:52
echo0504    :這樣程式間的轉換如果頻繁也不會lag?
kenandrew   :回樓上 這應該是不會 難道電腦CPU時脈不到1GHz34F 10/19 01:00
kenandrew   :就不能切換網頁嗎 10年前的電腦就可以了!!
friedpig    :看程式寫得怎麼樣 有些墓碑以後要重讀 就會有點久36F 10/19 01:08
BirthStone  :不會重新載入程式喔!只是暫停~完全暫停37F 10/19 01:09
BirthStone  :大部分,超過90%以上都是暫停,很少會重新讀的
kenandrew   :暫停也是用中斷下去寫吧 我猜,所以暫停無誤39F 10/19 01:11
friedpig    :應該是說 很多程式墓碑沒寫或沒寫好 按WIN鍵以後40F 10/19 01:11
friedpig    :他是當你關掉 這時候返回會去就重開了
felaray     :關於墓碑的狀態 和機制 我有轉貼一篇文章在下面了42F 10/19 01:18
felaray     :另外Handway你的擔心也是有道理,台銀的網銀好像是
felaray     :flash,那個就開不了。
felaray     :我就覺得沼澤塔防的沒寫好 一不小心跳出去 回來可能
felaray     :要重玩...

※ 發信站: 批踢踢實業坊(ptt.cc)
※ 轉錄者: felaray (61.62.70.141), 時間: 10/19/2011 01:27:00
jumbotest:我也想問 WP7不能一邊聽音樂一邊逛FB?1F 10/19 01:40
felaray:簡單一句:可以啊!2F 10/19 01:45
felaray:WP7裡面 聯絡人整合了FB 所以FB也不用裝軟體就可以用了!
jumbotest:那可以邊下載檔案 邊玩遊戲嗎?4F 10/19 01:53
jumbotest:依照墓碑邏輯 下載的進度會被凍結@@?
friedpig:如果是MARKET的下載不會 微軟系統的都能背景跑6F 10/19 02:10
jumbotest:http的呢@@? 還是說瀏覽器也算微軟系統的?7F 10/19 02:15
jumbotest:那what's app 總不是微軟系統的了吧..
felaray:墓碑是預設值,如果有多工需求,開發商需要寫程式支援多工9F 10/19 02:17
friedpig:what's app我沒用多久就刪了 不太清楚 HTTP有點不確定10F 10/19 02:24
friedpig:我都等他抓完才跳出去的說...
dxok0820:那切換程式不會卡嗎 XP若記憶體不足時將開啟的程式放到硬12F 10/19 09:35
dxok0820:碟 再叫出來都會卡一下
dxok0820:另外不能用flash意思是youtube是就不能用網頁版看嗎
felaray:文章中有說明的很清楚~他會記下狀態 釋放資源~所以不會有15F 10/19 09:41
felaray:記憶體不足的情況~ 如果你有興趣的話 在WP版有另一篇回文
felaray:可以參考該機制~
felaray:WP裡面有專門看youtube的app 可以彌補這個情況
alljerry04:內建的Zune一直都是多工的19F 10/19 11:13
wurenben:wp手機要聽音樂建議裝vevo,免費又好搜尋20F 10/19 11:16

--
※ 看板: layzer 文章推薦值: 0 目前人氣: 0 累積人氣: 1236 
分享網址: 複製 已複製
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇