重點文章
升級試用 iOS 12 的果粉們,覺得 iOS 12 的操作是否流暢過 iOS 11.4?蘋果從最初的 iOS 開始,一直改善介面操作流暢程度,到了 iOS 12,蘋果透露了「祕密兵器」,務求令 iOS 12 變得更流暢。
WWDC 2018 開發者大會,全球都聚焦在頭一天 Keynote,畢竟有新 iOS 發佈,大家都期待蘋果發佈新硬件,但是在 Keynote 之後 WWDC 2018 還有大量的演講,讓與會者了解蘋果的開發環境以及展望未來蘋果在軟件和開發者環境的工作。其中蘋果的 Josh Shaffer 在一個名為「What’s New in Cocoa Touch」的演講環節,講到蘋果如何令 iOS 12 操作的時候更流暢不會卡死。
優化處理器升降頻速度減少處理器樽頸
首先蘋果在 iOS 10 開始加入一個 Cell Pre-fetch,採取「背景預先操作」的形式,令真正打開 App 的時候不會因為處理資源不足而卡住。
不過蘋果發現這做法仍然會出現問題,「背景預先操作」會要求提取裝置未來的 App 數據的同時,其他 App 數據已經需要在螢幕顯示,這會導致處理器資源出現樽頸,進而在動畫效果(例如捲動網頁)出現「掉幀」問題,介面就會變得卡住。從 iPhone 7 使用 A10 Fusion 處理器開始,iOS 裝置處理器會分開高效和低耗兩部分,如果執行較少 App 進程時,處理器速度會減慢(例如轉用較慢的核心),保護電池壽命。如果用戶在此時觸發行為例如打開應用程式、捲動網頁等等,處理器未能及時轉換到高效能核心,「掉幀」問題會更嚴重。
對這個問題 iOS 12 會為處理器作優化,當有大量進程湧現的時候,處理器的處理速度會更快回復到高效能水平(例如更快轉用高效能核心),從而減少「掉幀」問題,介面會變得更流暢。
調節系統資源以減少處理器、圖像處理和記憶體使用
除了優化處理器之外,蘋果亦在系統介面以及開發者環境入手,蘋果更新了 iOS 12 的 Auto-Layout 框架。Auto-Layout 框架容許開發者在 App 內容自定不同顯示大小,減少 iOS 裝置處理資源的耗用,但蘋果發現有關框架的資源會呈指數級擴張。因此蘋果在 iOS 12 減少使用指數級別的元件,將一個個元件獨立放置,減少裝置和圖像處理資源耗用。
另外蘋果的 Josh Shaffer 也在演講中提供 iOS 12 可以利用名為 Automatic Backing Stores 技術,透過分析檔案的內容例如一幅圖片的顏色、深度、大小等等,去自動分配可能使用的記憶體數量,節約記憶體使用。
透過上述「祕密兵器」,iOS 12 介面操作可以變得更順暢,不會再卡死了。