Android開發周報:Android M、iOS9比拼、多種組件源碼分析
新聞
- 《越來越像:iOS9與Android M簡單上手對比》 :谷歌和蘋果都已經在日前先后放出了下一代系統的開發者預覽版本,既Android M 開發者預覽版以及iOS9 開發者預覽版。今年的Android M和iOS重點都集中在底層改進、用戶體驗提升以及電池續航管理上,純粹視覺上的變化并不顯著。而且兩者目前都處在早期的開發者預覽版階段.而現在,是時 候將兩者放在一起進行一番對比了。
- 《谷歌建網站幫用戶挑選Android手機》 :目前市面上有許多不同的產品,如何選擇一款最適合自己的手機也非常困難。這種選擇對于新手用戶來說尤為困難,因此谷歌最近專門推出了一個新網站,可以幫 助用戶選擇目前最適合自己的智能手機。這個網站只需要用戶按照步驟回答問題,就可以篩選出最適合自己的那一款。這里是 Which Phone 網址。
教程
- 《Google Developing for Android —— Tools》 :Andorid提供了很多可以幫助開發者debug和分析問題的工具,它們可以讓App擁有更好的性能。這些檢測工具涵蓋了內存分析,比如 Allocation Tracker(在DDMS和Android Studio中都有)和設備性能。知道這些工具很重要,但更重要的是能夠充分的使用這些工具,保證你的應用擁有期望的表現(60幀限制,避免垃圾回收器攪 動),盡可能的優化和提高整體體驗。
- 《Android應用程序UI硬件加速渲染的Display List渲染過程分析》 : 在硬件加速渲染環境中,Android應用程序窗口的UI渲染是分兩步進行的。第一步是構建Display List,發生在應用程序進程的Main Thread中;第二步是渲染Display List,發生在應用程序進程的Render Thread中。Display List的渲染不是簡單地執行繪制命令,而是包含了一系列優化操作,例如繪制命令的合并執行。本文就詳細分析Display List的渲染過程。
- 《LocalBroadcastManager 的實現原理》 :對LocalBroadcastManager 大家應該都不陌生,相對BroadcastReceiver,它只能用于應用內通信,安全性更好,同時擁有更高的運行效率,也是需要發送應用內廣播時的官 方推薦。我們知道BroadcastReceiver的通信是通過 Binder 機制實現,而 LocalBroadcastManager 因為叫LocalBroadcast,是否也是 Binder 通訊方式為底層實現的呢?本文為我們揭曉了答案。
- 《Android應用Activity、Dialog、PopWindow、Toast窗口添加機制及源碼分析》 :Android屏幕顯示的就是Window和各種View,Activity在其中的作用主要是管理生命周期、建立窗口等。也就是說Window相關的 東西對于Android屏幕來說是至關重要的。本文分析了Android應用中Activity、Dialog、PopWindow加載顯示機制以及 Window、WindowManager相關的一些知識。
- 《面向UI的單元測試框架——AndroidUITestRunner》 :通常我們使用的單元測試框架都是用來測試一些非UI的邏輯的,如JUnit,CPPUnit。單元測試是非常好的習慣,一方面單元測試本身就是一份文 檔,另一方面單元測試有助于強迫使你的代碼耦合更加松散(模塊可以獨立測試)。移動應用一般都是MVC的結構,Mode層面使用JUnit進行單元測試很 方便,但是想測試View就無能為力了,本文介紹了一種可行的UI單元測試方案——AndroidUITestRunner。
- 《深入理解PackageManagerService》 :PackageManagerService負責管理系統的Package,包括APK的安裝,卸載,信息的查詢等等。它的功能非常的多,也非常的強 大。PackageManagerService和Java中其他系統服務一樣,也是一個Service,作者結合源碼詳細分析了 PackageManagerService的相關知識,有助于我們了解Apk的整個安裝、運行過程。
- 《自定義NavigationView》 :Google I/O 2015 給大家帶來了Android Design Support Library,對于希望做md風格的App來說,簡直是天大的喜訊了,大家可以通過 Android Design Support Library 該文章對其進行了解,也可以直接在github上下載示例代碼運行學習。本文首先介紹了NavigationView的使用,然后介紹了如何自己去編寫該控件。
- 《谷歌如何找回「失散多年」的設計師》 :本文是一篇非技術文章,不過對我們設計優秀的產品或許有一些幫助。與蘋果相比,谷歌更多地是一家技術驅動的科技公司,其產品設計充滿著濃厚的工程師思 維,正因為如此,其設計也一直為用戶所詬病。但是現在的谷歌比任何時候更加注重設計,運用Material Design的安卓5.0給人眼前一亮的感覺:清爽的界面,清晰的交互邏輯,應用統一的設計風格。本文將詳細介紹谷歌設計的演變過程、谷歌領導層的思想是 如何一步步轉變,設計如何使得谷歌更加團結。
開源項目
- ProductTour :該項目實現了Google系App特有的引導頁面,包含parallax effect效果,色彩背景的漸變動畫等。該項目實現的效果、體驗都很贊,我們可以將該引導頁快速的集成到自己的生產項目中。
- velocimeter-view :該項目是一個效果很贊的速度計,可以自定義表盤顏色、指針速度。
- Notes :Notes是一款基于Material Design 的開源筆記本應用,支持多款彩色主題的選擇、分享功能等。下載運行該項目,了解更多功能。
工具
- infer :infer是非死book開源的一個Java,Object-C靜態檢測工具,可幫助Android,iOS開發者檢測一些潛在的bug及資源泄漏 問題,infer已經被用于非死book的Messenger,Instagram等自家App開發之中,和Square的內存泄漏檢測工具 leak canary有一拼。
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!