SmartBoost運作原理

效能與省電一直是行動裝置上最重要的品質指標,HTC身為行動裝置的領導開發商,這部份當然累積了不少看家本領,為了能讓更多人體驗到,我們決定把這部份的經驗累積成產品,並且公開給廣大的android用戶一起體驗,也就是在這樣的機會下,造就了Boost+的誕生。在2016年4月,Boost+跟著與 HTC M10 發表會一起亮相了,接下來我們會持續改良並把冰山一角以外的功能開放給大家,此外,我們也會一併在這裡公開核心功能的介紹與開發的心路歷程,希望大家一起支持Boost+,也歡迎大家一起指教與討論。

SmartBoost – 智慧貼身的記憶體優化功能

也許,你聽過”記憶體不足”這個詞 (如果沒有的話請關閉瀏覽器離開(被揍)),沒有的話,可以想想在買手機時,琳瑯滿目的比較表中都會出現一個”記憶體容量(Memory)”的項目在表格中,它的數值從數年前規格2G到今年4G,這部份硬體能力的成長,確實對效能的提升有很大的幫助,它讓同時能一起跑的應用程式數量變多了,而有更好的體驗。但是,2G/4G的記憶體容量就是系統能負荷的極限,在到達上限但又需要更多記憶體時的狀況,我們就稱之為”記憶體不足”。在Android的原生設計下,有著一套完整且不錯的回收機制來回收記憶體給接下來需要使用的程序,克服記憶體不足的狀況,但我們發現這裡有3個美中不足的地方:

 

  1. 回收機制並不依使用者的日常使用的重要性來選擇,使用者常用的程式,未必會被保留下來
  2. 回收時,會直接把系統認為當下重要性較低的程序全部回收,這會造成在回收的量大時,系統會出現瞬間卡頓的狀況
  3. 如果程序所需的記憶體不是在要用到時一步一步的給出來,而是在一開始就一次一起空出來,整體效能會更好

SmartBoost_v3

因此,我們規劃了SmartBoost。要進一步改善以上3點,記憶體管理程式需要知道2個資訊,一是每個應用程式所需的記憶體需求,二是每支應用程式在使用者手中的使用量。為此,Boost+在後端有大量的雲端運算機制,在收集並計算出各個應用程式的記憶體需求,並把運算結果送到使用者手中,Boost+收到後,會以大數據運算的數值為基準,再配合貼身的學習機制,慢慢的運算出最適合每個使用者的設定值供SmartBoost運作。並在學習過程中了解每支應用程式的使用量,有了這2個資訊後,SmartBoost就能在記憶體不足時,做出精準且符合使用者習慣的記憶體管理,達到最佳的優化效果。

裡面當然還有不少細節的調整,才能因應各個不同的Android版本與不同廠牌的環境,在此我們就不多做贅述了 (嘿嘿~)。在測試結果下,記憶體不足時卡頓的狀況能有80%的改善幅度,在日常生活使用中,應用程式的平均開啓時間也能有5~8%的優化效果,相信對使用者是不錯且實用的功能。

前言提到效能與省電,所以Boost+當然不是只有SmartBoost一個點子,我們還有很多拿手絕活還沒搬出來,之後會陸續推出,敬請期待。

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s