夏天來了,App開發者們如何看待手機發燙問題?
我正在參加「初夏創意投稿大賽」詳情請看:初夏創意投稿大賽
夏天來了,小夥伴們,你們的手機會發燙呢?
進入夏天后,手機發熱現象愈漸明顯,手機發燙的原因其實也有很多種。
散熱
首先,咱們來聊聊散熱
。由於每款型號的手機外殼的材料上以及內部排線上有很大的不同,這對散熱都會有不同的影響(金屬比玻璃材質散熱表現上更突出)。
夏天時使用手機,手機殼套也會一定程度影響到散熱。如何避免在手機使用時發燙呢,要避免手機散熱的遮擋,比如將放置在手機支架上比放置在桌面上散熱更快。除了手機的遮擋外,在有條件的情況下,可以使用物理降溫,如使用空調,或者風扇的風口對準手機,或者使用物理降溫的手機殼,可以一定程度上幫助手機降溫。(防水的話可以試試水冷😊)
系統版本
然後我們來聊聊系統版本
,在每次升級了新的系統版本之後,新系統會對此前的系統進行優化和bug的修復以及新功能的升級,有些穩定的版本就是因為優化系統層面的耗電,以及做了各方面的效能優化,所以選擇一個耗電量低的系統版本升級也是非常重要的。
應用程式
最後,我們來聊聊應用程式(APP)
。前面說的這些都是外因,手機發熱的真正原因還是我們使用的APP本身。一個複雜的APP和一個簡單的APP在發燙的表現上肯定是不同了,我們不能將兩種不同型別的應用相提並論。舉個栗子🌰,我們使用手機玩“吃雞”或者“農藥”,手機會迅速升溫(具體看機型效能),這是因為遊戲本身會耗費手機很多的效能以及消耗更多的電量來處理計算任務,網路傳輸,以及螢幕渲染。
同樣,當我們開啟一個導航APP,手機也會迅速升溫,並逐漸發燙,這也是因為導航應用本身會頻繁使用手機的定位,網路傳輸,以及螢幕渲染等等,當然了導航APP一般在圖層上的繪製比其他型別的APP要複雜很多。
手機中耗電總結起來有四個方面:
-
Processing
: CPU處理
- Networking
: 網路請求
- Location
:定位
- Graphics
: 螢幕繪製
開發者們在經過嚴(sui)瑾(yi)的測試後,並不會對效能方面引起重視,往往會被測試同學告知新版本如何如何發熱、發燙,有時甚至會跟測試同學爭執,然後各憑本事,看誰能忽悠(說服)。但往往開發同學都會“被妥協”😂。
其實解決思路可以從以上耗電的四個方面入手,這裡有幾個簡單並且有效的辦法可以解決耗電的問題。
- 減少CPU同一時刻的運算量(提前或者延後計算),螢幕渲染(懶載入)等等。
- 在網路傳輸中和螢幕顯示上合理的降低圖片質量或者視訊質量。(通常很多新人會使用原圖上傳和顯示,這樣會使手機非常耗電)
- 減少定時器的使用,和輪詢任務。(儘可能通過事件去處理)
- LeetCode 初級演算法之陣列(上),看看你都學會了嗎?
- LeetCode 初級演算法之連結串列,看看你都學會了嗎?
- LeetCode 初級演算法之字串(上),看看你都學會了嗎?
- 純程式碼佈局,也可以一樣的簡潔
- UIStackView之一問一答
- 使用UIStackView來簡化iOS的介面佈局
- 夏天來了,iOS開發者們該如何減少App耗電?(上)
- 夏天來了,App開發者們如何看待手機發燙問題?
- 聊聊iOS中UITableView複用的那些事
- 曾經經典的微信打飛機遊戲還有人記得嗎?
- iOS 原生渲染與 Flutter 有什麼區別 (上)
- 瞭解 Mach-O檔案
- CocoaPods中podsepc檔案設定詳解
- iOS 原生渲染與 Flutter 有什麼區別 (下)
- 簡單瞭解 iOS CVPixelBuffer (上)
- 談談 iOS 包瘦身方案
- 播放器重構的探索之路
- 如何使用CocoaPods製作私有庫
- iOS 元件化方案