看板 iPhone作者 lordmi (星宿喵)標題 [心得] 多工列App們不需要特地去關閉時間 Mon Jan 9 15:42:28 2012
我一直對iOS的記憶體切換法很有興趣,今天看了Speirs所寫的「Misconceptions About
iOS Multitasking」(
http://goo.gl/UAYaj )之後總算有個整體的認識
圖文解釋記憶體配置表我放在blog (
http://www.lordmi.com/archives/10034 )
懶得看理論的可以跳過這段直接看歸納
所以讓我們簡單的說結論吧:
*假如有人告訴你說停留在多工列表的Apps 它們還在執行、還在用你的記憶體、還在
消耗你的電池...這些都是錯的
*當你在App中按下home button,App 會被作業系統從 Active 改成 Background,然
後很快的變成 Suspended 不再消耗資源
*從Background 變成Suspended的步驟很快,但如果前面有工作沒做完也有可能要花上
10分鐘
*假如free記憶體即將用完,iOS會自動移除Suspended 狀態的Apps清出記憶體
*有五種類型的Apps會在 background 直到做完所有事情:audio(音樂), GPS(定位
), VOIP(網路語音通信), Newsstand(新聞) and accessory (控制配件的程式)
還不夠簡單的話,用一句話說完吧。
你不需要管iOS在背景裡怎麼做
他想說的是iPhone的用法就這樣而已。
--
*本文並非由廠商提供: かんーまおーよんすっすー(よんすっすー)♪
(′ ∀ ‵ ) ________________
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.61.8
※ 編輯: lordmi 來自: 220.133.61.8 (01/09 15:43)
推 girl:that's right!Great minds think alike.1F 01/09 15:46
推 DM1984:沒錯 完全不會特別去在意XD2F 01/09 15:48
→ KawasumiMai:有疑問,兩點好像互衝?
如果快用完就會去釋放那些不必要的app
但是那五種又會放在bg等東西跑完
那如果今天只剩下那五種在跑但是記憶體快用完呢?3F 01/09 15:48
推 a0683g10:給小舞,如果有這種情況那五種app還是會被關掉7F 01/09 15:51
推 a0683g10:在記憶體快吃滿時手動關掉一些app的確會有點變順的感覺y11F 01/09 15:53
→ KawasumiMai:有時擱著15個左右的app沒關說沒差別有點難以置信
不過像採香菇那種的確是一段時間之後她就自己unload12F 01/09 15:54
→ a0683g10:不過那是因為OS不用做"先把不用的app關掉以獲得記憶體"14F 01/09 15:54
推 JoeArtanis:的確是不用特別去關,安心用就對了,真的怪怪的再去關16F 01/09 15:56
推 estupid:Remove bg 感覺就是把suspended先移掉17F 01/09 15:57
→ KawasumiMai:是說依照採香菇那種調調...隔很久重開要載半天
而且還會回到title畫面重新進入,你要說只有suspended18F 01/09 15:58
就我的經驗以上是理想,現實中有些程式會鎖住記憶體不放
這時候用砍多工列App似乎會讓iOS再去整理一次,有時候會清出來有時候不會。
※ 編輯: lordmi 來自: 220.133.61.8 (01/09 16:01)
推 estupid:Backgrounder就感覺是強制active20F 01/09 15:58
→ KawasumiMai:老實說把她想成iPhone實質關閉,只是額外留個app捷徑在多工列上方便你下次開啟...好像也可以說得通
所以就是理論值還有各app耍小聰明的差距這樣XD21F 01/09 15:58
→ lordmi:還有就是3G/s確實會發生小舞說的那種5大類程式塞滿的窘境最近的App越來越肥,我換4s之後就相安無事了24F 01/09 16:02
推 JoeArtanis:隔很久重開要重新進入那種很明顯是被iOS給釋放掉啦
你在記憶體充足下他是不會被釋放掉的
當然前提也是那App有支援iOS所謂的多工26F 01/09 16:07
→ KawasumiMai:重點是當記憶體滿的時候要在叫回來可能就閃退了XD
此外程式的寫法還有當初的平台也是很大的因素的確
所以只能說完全不用關是理論值,實際還是有點差29F 01/09 16:10
→ Sqall:我不知道REAL RACING 2是不是屬於五大類,之前有一次手機收簡訊時竟會LAG,我把它關掉後就不會了32F 01/09 16:12
推 ccpz:那就是他記憶體吃太多,系統還沒放掉
總之一句話,放背景的程式, 除了 voip,音樂,導航,newsstand
還有和30pin外接裝置溝通的程式外,在背景最多幾秒就會停
官方說法看這文件 http://goo.gl/ML5Vm34F 01/09 16:20
→ Makusu:其實會有這種說法並不是沒有原因...因為要教人用>又怕對方沒有關掉會背景作業的程式所以乾脆叫他都關掉以避免記憶體被卡卡獸吃光光....38F 01/09 16:28
推 leethomas:iOS的多工和一般使用者用的習慣不一樣 手動關也可以
不要關iOS也控制得不錯 不管怎樣似乎都沒有很大差別41F 01/09 16:36
推 yoqwqq:有遇過開太多APP 而收不了信的~ 因該還是會有差!!!!!43F 01/09 17:06
推 doraemonss:我非常確定racing2 RF 12這類要消耗大量資源的程式會吃因為我把這幾種遊戲放在背景 真的會LAG44F 01/09 17:08
推 darKyle:系統不會馬上回收背景app資源 所以剛從遊戲切換到別的app的時候 可能會暫時因為資源不足而跑不順46F 01/09 17:23
→ Sqall:我的狀況非馬上切換,是我收訊息LAG時我才發現原來RR2沒關48F 01/09 17:24
→ darKyle:用了其他app一陣子後再回去剛剛的遊戲 會發現它要從頭讀取越大型的遊戲越容易遇到這種狀況49F 01/09 17:26
→ usbtiger:我覺得還是需要關 何況關一點都不麻煩 虛擬案件超好用51F 01/09 17:29
→ Sqall:我所描述的狀況是這種GAME似乎不屬於五大類(?),但是放在背景中他也是持續在運作而影響到目前使用的APP的情況
當然關掉是最簡單的解決方式,只是針對這篇主題回覆我的情形52F 01/09 17:30
推 darKyle:那是因為記憶體不足而導致的lag
仔細看了原po的說法 第一點不完全正確 背景app會佔記憶體但是佔記憶體不代表正在執行55F 01/09 17:32
推 nightpluie:我也不覺得正確,因為我的3gs升到4.0變多工後
變得非常難用,打簡訊常常要卡半天
一定得清除記憶體後才能稍微好一點58F 01/09 17:34
→ darKyle:除了那五種背景工作 其他情況下都會被暫停61F 01/09 17:36
→ Sqall:是的,我手誤,我想表達的是它雖沒執行但似乎還是佔了資源62F 01/09 17:36
→ jric:不完全對阿63F 01/09 17:44
推 fbiwbi:消耗記憶體是真的吧64F 01/09 17:50
推 chenmous:可是每次去蘋果店玩iphone or ipad 每次多工列都滿滿
有好幾十個軟體 這時iphone或ipad就變得超頓
清掉之後 iphone會明顯的變得很快
你的說法顯然有問題吧65F 01/09 18:02
→ jric:這樣講,當前(完整)直行可能會佔掉50mb
縮小後,會使用10去佔存狀態(記憶體充足時)
當記憶體不足時,會變成使用1mb去記錄這個程式"執行過"
而釋放多餘的記憶體給當前的程式使用
所以少量不關都是可以的,但當你執行過100個不關,就會知道..上面的記憶體只是舉例由多到少,並不是一定
原PO文中也有提到,但最後不是完全不佔,所以還是要定期關69F 01/09 18:08
推 a0683g10:只是支手機,我是覺得沒必要去操這麼多心
我自己的程式有400+,用了兩年半都沒在意過開了多少程式比起其它OS,iOS我是覺得已經做得很好了76F 01/09 18:36
→ Decill:推樓上 我選iOS很大理由就是很多東西不用我再去多擔心79F 01/09 20:44
→ vanish0611:但是不可否認的是把多工列上的圖示關閉後會比較省電80F 01/09 23:31
→ lym0715:第一點和第四點是不是有衝突???
"你不需要管iOS在背景裡怎麼做"是user的權利 但是並不代表背景程式真的沒有佔任何一點資源吧81F 01/09 23:54
推 danshu:那五種例外情形...很多app都算耶...84F 01/10 01:47
--
※ 同主題文章:
[心得] 多工列App們不需要特地去關閉
01-09 15:42 lordmi.