幾乎每年新款 iPhone 推出後,就開始有人會想問記憶體有多大?蘋果卻從來都不在官網或發表會上直接將 iPhone 記憶體明確標示,也讓部分 Android 轉來 iPhone 用戶或初次使用 iPhone 新手都會錯誤迷思,到處找怎麼清除 iPhone 記憶體避免系統會卡?甚至還有將 iPhone記憶體誤認成儲存空間也有,那為何蘋果不一開始就將記憶體拉到最高就好?這篇帶大家來探討與解釋 iPhone 記憶體問題。
iOS 內建自動釋放記憶體功能
iPhone記憶體不夠用與 iPhone儲存空間不足是兩回事,前者是記憶體、後者是硬碟空間,使用 iPhone 也不需要安裝自動釋放記憶體 App 工具,甚至還有人要用釋放 iPhone 記憶體的祕技那些也完全沒必要,主要是 iOS 記憶體管理機制能夠讓 iPhone 自動釋放記憶體,就不需擔心記憶體會不足問題,詳細可透過底下文章了解:
當然如果你發現 App 會閃退,那就代表 App 有 Bug 或是執行太久,甚至有些用戶可能拿手機來掛網,每天24小時在跑遊戲,建議就是定時的將 App 從後台關閉即可釋放記憶體,再次重開 App 或將 iPhone 重開機一次即可。
為何 iPhone 記憶體不一次加到最大?
自從賈伯斯發表 iPhone 後,直到庫克接管蘋果,每次蘋果新機發表會和蘋果官網上,肯定找不到一項規格資料就是 iPhone 記憶體有多大,為何蘋果不公布這項數據?
如果問問身旁有在用 iPhone 朋友,問他們手上的記憶體有多大,大多數都是不知道,只知道買的是 64GB、128GB 或 512GB 設備,那就表明記憶體大小並非是大多數消費者選購 iPhone 考量之一,而是現有官網列出來的特色。
然而記憶體大小與用戶執行 App 順暢度無關,手機執行速度全取決於 A系列晶片上,幾乎每年蘋果發表會推出新 iPhone 必看見新款處理速度和演算法又提升了多少,永遠會超越頂規 Android 處理器 1.5年~2年,在移動設備處理器排行榜單長期被 iPhone 和 iPad 獨佔。
這並非指 iPhone 記憶體大小不重要,而是記憶體夠用就可以,為什麼呢?蘋果這樣做主要是出自於底下幾個原因:
- 降低成本,提高 iPhone 利潤與毛利率
- iOS 系統記憶體管理機制優秀,會自動釋放記憶體
- 保障舊款 iPhone 設備體驗
iPhone 自從賈伯斯時期就已經維持在高毛利率,當庫克接任後,也讓 iPhone 繼續維持在高毛利率,也讓蘋果市值一度再創新高,許多人認為 iPhone 會步入 Nokia 後塵,那你肯定錯了!要是當時賈伯斯沒有庫克,如今 iPhone 就不會成功,下場會與 hTC 是一樣默默無名。
如今 Apple 只會越來越強大,這家公司依舊持續設計、生產、營銷最優質產品給客戶,生態圈也會越來越大圈,另一方面蘋果為了提升毛利率,更會想盡辦法從零組件降低成本,就如 iPhone 12 系列開始充電器和無線耳機都不附贈,主要用意是提升原廠周邊配件銷售額,儘管有更好的產品能取代,還是會有消費者願意購入原廠配件。
除了降低成本外,在 iOS 本身對於記憶裡控管就極為強大,然而記憶體大小的配置,也關聯到開發者推出 App,同時也要保障舊款設備用戶體驗。
當然也不能拿 iPhone 6s 記憶體和 iPhone 12 記憶體大小做比較,畢竟兩款設備是不同時期產品,甚至在 iOS 環境和功能需求都有所不同,只要年限一過,多數會因處理速度無法應付,就會開始造成緩慢。
蘋果替 iPhone 記憶體拿捏準確度相當好,幾乎都是每兩年會提升一次 iPhone 記憶體容量,更不會一次拉到最高。
也許很多人不太懂記憶體與 iPhone 關聯,如果將記憶體當成車道,原本兩線車道可通車,在車道上面跑的車視為應用程式,每當下班時刻車道塞車情況會特別嚴重,為了減緩塞車,就需要擴大車道規模與數量,這行為就如同提升記憶體容量,當記憶體越加越大,相對也會讓應用程式對記憶體的需求會持續成長,畢竟 App 會隨著版本持續加入新功能,所以蘋果必須要有一套控管機制,避免應用程式佔用太多記憶體,更能防止舊款 iPhone 體驗會受到影響,直到舊機撐不住後才會停止更新,或限制高 iOS 版本才能繼續使用。
至於 iPhone 為何不需要透過第三方 App 釋放記憶體,實際這功能已經內建在系統內,甚至你也不需要監控記憶體還剩餘多少,但為何 Android 還要裝個不定時自動釋放記憶體工具呢?這與 iOS 和 Android 架構有極大關連。
Android 記憶體管理機制
相信大家都會發現 Android 手機大廠商會一直提升記憶體,使用久了還是會出現不夠用最後會卡頓情況,主要原因是 App 都會一直常駐在後台,只要打開一個 App 就會常駐在後台佔用記憶體空間。
可以想想如果一個 App 佔用20MB ,如果開100個App 後就會直接佔掉系統2GB 記憶體空間,且不同開發商也會不守規矩的將 App 記憶體需求越搞越大,甚至還會亂塞一些廣告造成更吃記憶體,導致用戶需要額外裝自動釋放記憶體工具強迫 App 釋出,避免 App 霸佔記憶體。
也有些不良開發者也會刻意在系統代碼層面偷啟動開啟麥克風、前置鏡頭等功能,讓用戶無法關閉,Android 也沒有嚴格規範,導致 Android 生態就好像是大鍋炒,各家 App 打開後就直接衝進記憶體倉庫內搶糧搶食,各自在記憶體空間內先佔先贏,甚至還會出現霸佔,導致 Android 大廠不得不將記憶體越加越大確保 App 運行順暢。
甚至 Android 的推送方式就類似電腦,都要確保 App 能夠正常收到通知與即時訊息,就像是 LINE App 就要持續持續在後台執行,並且要和 LINE 伺服器保持連線,才能夠有訊息或電話來立即可提醒,但是 Android 也同樣有類似 APNS 蘋果消息推送機制的 GCM(Google Cloud Message),只是效果沒有蘋果的好。
iOS 釋放內存與記憶體管理機制
iPhone 不需要用太大記憶體其實是有理由的,通常 iOS 只有在底下幾種服務才會支援長期在後台執行,能夠讓應用程式可以在後台繼續播放、通話,且這些應用程式也都會在自己應該佔用的儲存空間中活動,不會去搶佔隔壁的空間來用。
- 背景播放音樂(Apple Music、YouTube等)
- 通話
- GPS定位
- 下載
- 個人熱點
- 藍牙連線
其餘狀態下,只要 App 退到後台後或切回主畫面時,App 就會進入凍結狀態,不會持續在後台執行,只要超過10分鐘沒有再次打開 App ,iOS 就會自動認為已經沒有在使用這款 App ,自動將 App 暫存給釋放出來。
另外 iOS 還有就是強制釋放記憶體機制,舉例來說你開啟遊戲後,iOS 發現記憶體空間不足,在後台常駐有 LINE 和 FB ,會依照用戶的使用習慣優先釋放比較少用的 App,如果 LINE 曾開過 500 次、FB 只有開過300次,那就會優先釋放 FB 內存,正常來說 iPhone 屬於單工作業,不過對於智慧型手機來說,用戶一次只會操作單款 App 或遊戲也算已經夠用。
那麼也有人會問,10分鐘後沒用被釋放內存,同等於 App 已經被凍結沒有在後台運作,怎麼收到通知訊息?
iOS 在這方面比起 Android 做得更好,主因是蘋果有自家的伺服器,當每次 iPhone 連上網路後,就會和蘋果伺服器建立連線,這個伺服器主要是用來當成推播通知用。
舉例來說,在 iPhone 上用 LINE App 聊到一半退回主畫面或待機狀態, LINE App 會自動和 LINE 伺服器斷線,如有朋友傳來一個訊息,會先經過 LINE 伺服器再傳到你手機上的 App 內,這時 LINE 伺服器發現你沒有和伺服器連接,自動將訊息轉送到蘋果伺服器,由蘋果伺服器推送 iOS 通知告訴你有訊息,就能夠實現不需要一直常住在後台執行,就算關閉 App 狀態下也能夠正常收到任何訊息,由 iOS 系統會自動推送通知。
另外 iPhone 也受益於採用 NVMe 快閃記憶體順序讀寫速度,能夠讓記憶體內存和儲存空間可以迅速互相傳輸,同等於是如果你買了 256GB 的 iPhone ,儲存空間也同樣能被用來當成記憶體暫存,iOS 暫存並不是只有記憶體可用,才會導致很多人發現 iOS 其他容量會越來越多。
總結
當然記憶體容量對於有些消費者來說也是會額外注意,通常記憶體容量越大,帶來的優勢就是能夠減緩殺後台現象,所謂殺後台就是指 iOS 會自動釋放記憶體,導致App 切換到幾分鐘前執行過的另一款 App 後,會自動在重新載入一次,能夠減少等待時間和避免打字打到一半,再切回去所有資料就全消失。
目前 iPhone 12 Pro 系列也將記憶體加到6GB ,最主要也是因為硬體規格,以及支援 Apple ProRAW 和 LiDAR 都需要有更大的記憶體空間來暫存,相對也會比起 iPhone 12 / 12 mini 的 4GB 記憶體容量來得更大,但是實際在日常生活 iOS 體驗上,也會感受不出差異,最主要還是在於 iOS 在記憶體控管機制太優秀。
喜歡這篇文章教學,後續想了解更多Apple資訊、iPhone、Mac、3C隱藏技巧,歡迎追蹤 瘋先生FB粉絲團、瘋先生LINE@、訂閱瘋先生Google新聞、Telegram、Instagram以及 訂閱YouTube頻道,將會有更多非常實用的技巧教學分享給大家。