Android開發周報:Google I/O 2015回顧、Context源碼解析

jopen 9年前發布 | 28K 次閱讀 Android

原文</i>  http://www.infoq.com/cn/news/2015/06/Google-2015-Context

新聞

  1. 《Android:Google I/O 背后的抱負》 :讓人滿懷憧憬的Google I/O 2015已經繽紛落幕了。Android M、可穿戴設備、物聯網、虛擬現實、以及Google Now、照片、地圖產品的各種升級讓人目不暇接。但是,回想起來,似乎又沒有太多新鮮的東西。大會的跟蹤報道和綜述已經是不少了,基本上都大同小異;流水賬式地挑一些吸引眼球的產品,枚舉一下新功能。那么,你看懂了這一次的Google I/O嗎?
  2. 《Android M 正式登場,偏重打磨和品質》 :果然如傳聞的那樣,在Google I/O 2015 上,Google 一上來就端出了最多人關心的新版移動系統:Android M(現在還不知道 M 代表的到底是什么...)。雖然在現場官方介紹的只是開發者預覽,但從中我們還是可以掌握一些新版本的發展方向。和 Lollipop 巨大的變化相比(尤其是視覺上),M 更注重對 Android 體驗細節的雕琢。
  3. 《谷歌為重返中國出新招》 :早有傳聞 Google 有意將 Play Store 帶回中國,并且有消息稱今年 I/O 大會上有中國版的 Play Store 發布,但最終無聲無息。而據一財網報道,Google 正在和國內的手機廠商洽談,如果愿意預裝 Google Play Store,Google 將為每部手機補貼 1 美元。中華酷聯及 vivo、OPPO 中,至少有三家廠商和 Google 在聊。

教程

  1. 《 Android應用Context詳解及源碼解析》 :我們開發App應用程序時每天都在使用Context,獲取資源、啟動一個Activity等。但是很少有人關注過這玩意到底是啥,也很少有人知道 getApplication與getApplicationContext方法有啥區別,以及一個App到底有多少個Context等等的細節。本文基于Android源碼,詳細分析了Context。
  2. 《Android應用程序UI硬件加速渲染的Display List構建過程分析》 :在硬件加速渲染環境中,Android應用程序窗口的UI渲染是分兩步進行的。第一步是構建Display List,發生在應用程序進程的Main Thread中;第二步是渲染Display List,發生在應用程序進程的Render Thread中。Display List是以視圖為單位進行構建的,因此每一個視圖都對應有一個Display List。本文詳細分析這些Display List的構建過程。
  3. 《在 Android 中使用 data-binder 綁定布局 xml 與數據》 :Data Binding即數據綁定,在很多前端框架中都有應用,比如Google維護的AngularJS就支持View和Model的雙向綁定。當數據更新,框架收到通知,視圖可以自動更新,View和Model可以做到松耦合。在前幾天的 Google IO 2015 中,Google 在 support-v7 中新增了 data-binder,使用 data-binder 可以直接在布局的 xml 中綁定布局與數據。 這里 是另一篇介紹Data Binding的文章
  4. 《Google I/O 2015 為 Android 開發者帶來了哪些福利?》 :本次I/O大會正如前期預測的一樣,并沒有帶來太大的驚喜,發布的幾款產品也是中規中矩,基本上是對產品的一次小幅度升級。不過或多或少也給開發者帶來了一些新的東西,本文介紹了一些大會的小福利。
  5. 《Android中HTTP相關的API》 :Android中大多數應用都會發送和接受HTTP請求,在Android API中主要由兩個HTTP請求的相關類,一個是HttpURLConnection,另一個是Apache HTTP Client。這兩個類實現的HTTP請求都支持HTTPS協議,基于流的上傳和下載,可配置超時時間,IPv6和連接池。本文詳細分析了Android 中Http相關的知識。
  6. 《Android應用層View繪制流程與源碼分析》 :Android中的任何一個布局、任何一個控件其實都是直接或間接繼承自View實現的,當然自定義控件也不例外,所以說這些View應該都具有相同的繪制流程與機制才能顯示到屏幕上(因為他們都具備相同的父類View,可能每個控件的具體繪制邏輯有差異,但是主流程都是一樣的)。經過總結發現每一個 View的繪制過程都必須經歷三個最主要的過程,也就是measure、layout和draw。閱讀文章,了解更多細節。
  7. 《Google I/O 2015視頻分享》 :該篇是由ChinaGDG發享的本次I/O大會的部分視頻,無法親臨現場的小伙伴也可以感受一下大會的氛圍。
  8. 《Android中的MVP架構》 :MVP模式是一個把view從低層模型分離出來的一種現代模式。MVP由model–view–controller (MVC)軟件模式衍生而來,常用于構建UI。但是大家怎么樣把MVP運用到自己的Android 應用上呢?我們要把MVP模式運用到什么地方?Activity上、Fragment上、還是像RelativeLayout這類的ViewGroup 上?本文給出了答案。

開源項目

  1. JADX :一個Android反編譯神器,不同 于常見的dex2jar,這個反編譯器生成代碼的try/catch次數更少,View也不再是數字id了,可讀性更高。
  2. cheesesquare :該項目演示了Google I/O 2015發布的幾項最新功能,在你打算學習新功能之前,可以運行該項目預覽效果。
  3. MultiThreadDownloader :MultiThreadDownloader是一款邏輯比較簡單但實用的Android多線程斷點續傳下載器,支持多線程下載、斷點續傳、顯示進度等。

工具

  1. ButterKnife Zelezny :ButterKnife Zelezny是一個ButterKnife的生成器插件,可以幫助我們自動生成注解。
  2. GsonFormat :大部分的App和服務器端進行數據交互都是通過Json實現的。每次服務器端返回Json數據時,客戶端需要根據api接口生成相應的實體類,該插件可以自動生成相應的實體類代碼。
  3. Android Studio 1.3 Preview1 :Android Studio的最新預覽版。
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!