Re: [開箱] iPad Air 2

看板iOS作者 (<><.....)時間9年前 (2014/10/23 10:23), 9年前編輯推噓5(508)
留言13則, 6人參與, 最新討論串3/4 (看更多)
※ 引述《neotek (尼澳鐵特)》之銘言: : 看到底下推文在討論閃退、Reload,剛好最近有研究到這方面的知識, 就回應一下 : 如果有說錯還請各位版上各位高手手下留情>"< : 關於記憶體這方面很多人說記憶體不夠會閃退、Reload等等... : iOS在這方面的做法是這樣: : 1. 當記憶體不足時, 會通知所有的App,請App要釋放掉他們沒有在使用的記憶體, : (當然這方面要開發者去支援) 記憶體管理都在iOS 所有開啟的APP iOS會自己判斷 依照每個APP的使用時間 順序 以及各種用量等等 給每個APP一個編號順序 (使用者把App從背景關掉 只是影響這個順序而已 並沒有一定會關掉 但iOS通常都會優先把它關掉) 當iOS在發現記憶體使用上需求很大時 會自己判斷哪些App是開過但已經很久沒用 但還存在記憶體中的 依照那個編號順序 關掉該個App 把記憶體要回來 當記憶體還是不夠時 就會把正在用的App給關掉了... 也就會Crash 閃退 在下面那點會說明為什麼有這種情況 開發者能做的只有做好APP內狀態儲存 跟做好自己APP內的記憶體使用與釋放就好了 : 2. 如果通知完, 記憶體還是不夠的話,那麼你的App就很有可能被系統終止 : (也就是閃退) 也是可以這麼說啦... 不過大多都是開發者在開發沒想清楚 程式沒規劃好 用了太多記憶體 或是沒寫好 造成用完記憶體沒有釋放 又繼續用其他記憶體 這樣當然會不夠 : 3. 如果通知完,記憶體有被釋放,而且已經足夠使用,那麼App就會沒事,可以繼續跑 : 4. 那麼Reload是怎麼回事? 如果有做釋放動作的App 如果這裡的Reload是指 App變成第一次開啟時的狀態了 那代表這個App在iOS的記憶體管理之下曾經被關掉 但使用者又開啟他 所以他就從剛開啟的狀態開始了 (這邊變成開發者要做好狀態儲存與回復 也就是地一點提到的) : 下次你開App的時候可能會發現到裡面的內容都要再重新載入,那是因為在上一步驟 : 記憶體被開發者釋放掉了(為了不讓App Crash呀!!),再開的時候就要重新再載入一次 : 有興趣的可以去這邊看看:http://goo.gl/gvqh4o : 以上小小分享, 希望有幫助到各位 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.181.129.93 ※ 文章網址: http://www.ptt.cc/bbs/iPhone/M.1414031017.A.5C4.html ※ 編輯: POLAX (175.181.129.93), 10/23/2014 10:32:30

10/23 10:34, , 1F
推^^
10/23 10:34, 1F

10/23 10:52, , 2F
推^^
10/23 10:52, 2F

10/23 11:26, , 3F
閃退也比當機好
10/23 11:26, 3F

10/23 11:31, , 4F
問題是不是每個厲害的程式背後都有神人在寫
10/23 11:31, 4F

10/23 11:31, , 5F
像是常用的mo ptt 鄉民晚報就都很會閃退
10/23 11:31, 5F

10/23 11:31, , 6F
當然chrome rr3 那些大作自然就不會閃退
10/23 11:31, 6F

10/23 11:32, , 7F
所以其實閃退還是很嚴重的情況
10/23 11:32, 7F
crash其實有很多原因啦 這篇只有討論到記憶體的部份 但大多是因為程式沒寫好:P

10/23 11:42, , 8F
所以還是因為app或系統沒寫好 導致沒正確釋放記憶體以被
10/23 11:42, 8F

10/23 11:42, , 9F
reload 就會發生閃退
10/23 11:42, 9F
1.程式沒寫好導致memory leak 久了以後memory不夠用 => crash 2.程式沒寫好 call到的東西早就被release掉了 或是call到不該call的東西 也會crash 很多原因.... 跟reload(這裡的reload是指重新開啟app嗎?:P)沒什麼關係 除非是resume那段寫壞了XD

10/23 13:27, , 10F
據說很多初學開發者 didReceiveMemoryWarning 根本放著
10/23 13:27, 10F

10/23 13:27, , 11F
沒動 XD
10/23 13:27, 11F
其實如果對自己App內的記憶體管理很有自信 didReceiveMemoryWarning 是可以不用理他沒有關係啦 (逃) 看每個人的用量吧XD ※ 編輯: POLAX (175.181.129.93), 10/23/2014 14:09:09 ※ 編輯: POLAX (175.181.129.93), 10/23/2014 14:21:30

10/23 15:08, , 12F
應該說好像常有人把裡面那段 placeholder 文字誤會當成
10/23 15:08, 12F

10/23 15:08, , 13F
代表 iOS 會自動清理了...
10/23 15:08, 13F
文章代碼(AID): #1KI6QfN4 (iOS)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 4 篇):
開箱
13
51
文章代碼(AID): #1KI6QfN4 (iOS)