前言
轉載請聲明,轉自【https://www.cnblogs.com/andy-songwei/p/10823372.html】,謝謝!
Android性能優化無疑是Android中的一個重點,也是一個難點。之所以說是重點,是因為無論在面試中還是工作中,都是“備受青睞”的:從筆者面試經驗來看,面試官對性能相關的問題是樂此不疲;從工作經驗來看,越是大廠,越是對代碼質量苛刻,基本功能完成后,都需要對性能做一定的把控。之所以說是難點,是因為工作中性能優化的任務往往都是由經驗比較豐富的工程師或者架構師來擔任的,經驗尚淺的童鞋往往力不從心。而且Android性能方面的問題比較廣,如電量、內存、代碼效率、屏幕流暢度等方方面面,想成為這方面的行家里手,真心不是件容易的事情,更不用說把它們都了解透徹了。
所以,在筆者工作的前幾年里,經常對這類問題一頭霧水,開發的app中性能問題似乎無處不在,但想認真去學,卻又不知道從何入手。后來筆者發現,在Android官網中有專門的章節來介紹性能相關的問題,有宏觀的指導,有概括性的總結,有相關工具的介紹,有良好的編碼實踐介紹,還有豐富的資源鏈接......總的來說,官網給像我這樣想專門去學習卻又不知從何下手的童鞋一個很好的入門指導。由於官網中大部分都是英文的,所以筆者這里特意進行了翻譯,希望從這里入手,來系統性地學習Android性能相關的知識點。
官網中的篇幅
官網中為性能問題專門開辟的章節路徑為:Android Developers > Docs > 指南 > Best practies > Performance
中文版官網地址為:https://developer.android.google.cn/topic/performance
如下四幅截圖為該部分專門的章節,有將近30篇文章的篇幅。
翻譯后的文檔鏈接
如上截圖中,“Android Vitals”是Google Play中的一個工具,主要介紹這款工具以及如果通過這款工具來統計和分析性能相關的問題。由於該工具咱們平時的工作中接觸不到,所有這里就沒有翻譯。“SMP Primer for Android”是一篇關於“對稱多處理”入門教程,和CPU架構關系比較大,似乎和軟件層的優化有點遙遠,所以筆者暫時沒讀懂,所以也沒有翻譯,待以后有了深入的接觸后,再補上。其它的一部分是中文版的官網中已經翻譯了,剩余的為筆者的翻譯了。
【進程和線程】
【官網翻譯】性能篇(四)為電池壽命做優化——使用Battery Historian分析電源使用情況
【官網翻譯】性能篇(五)為電池壽命做優化——測試電源相關的問題
【縮減應用大小】
【在 Android Runtime (ART) 上驗證應用行為】
在上述鏈接中,帶有【官網翻譯】前綴的,為筆者翻譯的文章,都記錄在了博客中。其它的為中文版官網中自帶的翻譯。
結語
所謂“學海無涯,回頭是岸”,哈哈!筆者在翻譯的過程中也是相當痛苦的,雖然只翻譯了其中的10篇,但是也差不多花了一個月的業余時間來完成。由於經常長時間對着屏幕,經常有種眼睛累到要瞎的感覺。而且這還只是官網中“性能”篇幅中的一小部分,而“性能”系列也只是整個Android相關知識中的九牛一毛,有時候感覺技術這條路很遠很長,走下去還真是需要勇氣啊!希望筆者的這篇文章和翻譯的系列文章能對讀者有一定的啟迪作用,也更希望有讀者日后也能對筆者指點一二,筆者將不勝感激!另外,古人常說“實踐出真知”,這里介紹的還只是一些理論知識,要想成為高手,還需要大量的工作實踐。最后,引用屈原老夫子的名句來共勉吧:路漫漫其修遠兮,吾將上下而求索!!!