我真的覺得不懂技術的人有些可愛的地方...如果這個「清理內存」的App是從AppStore上面下載下來的,那種的我也會寫。原理很簡單,在不讓iOS把你踢出去(系統認為這不合理所以強制閃退)的情況下,一直跟iOS要求配置記憶體。因為記憶體被大量使用了,所以iOS就做它原本該做的事 -要其它App佔用的記憶體吐出來。其它App為什麼要佔用記憶體?很簡單,是一個快取的觀念。例如很多人的桌子是一個快取,因為你不會把桌面上用完任何東西/文具一時之間不再使用時就馬上收到抽屜吧?搞不好等一下要用就馬上要用,那它就在桌面上。 App跟記憶體的使用是一樣的道理。任何這類軟體一定有個量表/進度條在跑,因為任何App沒有辦法一次大量要求配置記憶體,只能分段一點一點要,這段時間只好跑個進度告訴你「我在清理記憶體」。這麼做「可能」有點感覺,因為如果開其它App時,iOS發現記憶體用量增加,也會做一樣的事,但有可能會覺得頓了個0.5秒。 但其實跑任何「清理內存」的App只是把很多小Lag變成一次大Lag原本寫不好該會閃退的App,不會因為你有清理記憶體(內存)就變成一定不會閃退...現在任何OS(包括XP以後的Windows)都不應該自已多事去清什麼記憶體。有必要的話OS會自已處理...
aniu1989 wrote:在app store...(恕刪) 相當不建議你這麼做,這樣會造成電池及NANDf Flash不必要的磨損,iOS 本身有自己的系統記憶體管理機制,會將常用的資料預載入記憶體,但你這麼做會破壞了這個機制,記憶體清理軟體之所以可以清出記憶體,是利用自己不斷在記憶體中不斷複製自己,這時系統記憶體管理機制>,就出動了,這時它為了不讓你目前執行的這個軟體閃退會開始將所有預載資料,甚至一些比較少會使用的系統程式,寫入到NAND Flash以便可以再次快速讀取到記憶體中,當你一把記憶體清理軟體關掉後,系統記憶體管理機制就會把這些在NAND Flash載回記憶體,這樣一來一往,NAND Flash、電池就消耗了不少,再來,你如果經常執行這些記憶體清理軟體就會被預載進記憶體,前面有提到,記憶體清理軟體自我複製以便啟動系統記憶體管理機制,當你關閉記憶體清理軟體,因為你經常使用記憶體清理軟體,這些記憶體清理軟體的自我複製體也會被預載記憶體,根本就是惡性循環,該被預載的不被預載,不該被預載的不斷被預載!