《Android 經驗分享》週刊第 11 期

世鋒日上發表於2017-03-28

《Android經驗分享》收錄國內外最近一週熱門的技術部落格以及優秀的類庫,星期一傍晚將準時更新給大家
微信公眾號:Android經驗分享
QQ討論群:386067289

本文已授權微信公眾號:Android經驗分享,在微信公眾號平臺原創首發。

熱點新聞
1.安卓8.0多項新特性曝光:看片利器
離Google I/O 2017開發者大會還有兩個月左右的時間,該大會最大的看點就是下一代安卓系統Android 8.0,按照以往的傳統其代號應該是Android O,“O”有可能是Oreo(奧利奧),但目前還無法確定。現在關於安卓8.0的傳聞開始嶄露頭角了,最新的傳聞來自外媒9to5Google。

2.安卓8.0突然就來了!Android O預覽版釋出下載
安卓8.0突然釋出了!誰也沒有想到,谷歌突然釋出了安卓8.0的預覽版安卓O。谷歌已經面向開發者釋出了首個Android O預覽版,這也應該是安卓8.0系統的雛形。Android O的命名符合安卓系統的規律,安卓系統的代號往往是甜點的名字,而甜品的首字母則按照字母表來排列。目前尚未制定Android O的“O”是什麼甜點,按照猜測,可能是“奧利奧”(Oreo)或者是“Oatmeal cookie”(燕麥餅乾)。

熱門部落格
1.手機QQ Hybrid 的架構演進
塗強,英文ID是StrongTu,於2005年加入騰訊,主要開發PC版本的QQ,後來負責PC版QQ UI引擎的時候做過一些嘗試,即在PC客戶端上整合瀏覽器核心,做H5和native混合開發的框架性工作。

2. 一種Android客戶端架構設計分享
技術發展日新月異,業界各種Android客戶端架構設計,五花八門,但我們不能簡單地說哪種架構更好,因為脫離業務談架構是沒有任何意義的,適合業務的才是好架構。而架構也不是一成不變的,隨著業務的發展,也許當初設計的架構已不足以支撐目前的業務,那麼就需要改變之前的架構。接下來將分享下我們Android客戶端的架構設計,在App的某個業務發展階段或許有一些參考意義。

3.Android可伸縮佈局-FlexboxLayout(支援RecyclerView整合)
我們在開發的過程中會不可避免的引用一些第三方庫,比如網路請求庫、圖片載入庫等等。就拿圖片載入庫來說,程式中不會只有一個地方來引用到此庫,可能有N個類會用到此庫來顯示圖片。這種情況下,就可以通過一箇中間層來引用“第三方圖片載入庫”。這樣做的好處是不管第三方圖片載入庫換成Picasso還是Glide,只需改變中間層,其他的一行程式碼都不需要改動。閱讀文章,瞭解詳細方案。

4.Android效能優化(五)之細說Bitmap
Bitmap記憶體模型,Bitmap的記憶體回收,Bitmap佔有多少記憶體?如何計算Bitmap佔用的記憶體?Bitmap如何複用? Bitmap如何壓縮? Bitmap的總結。

5.Android 呼叫系統功能實現圖片選擇器,你可能會遇到的問題彙總
圖片選擇器在手機應用中屢見不鮮,設定頭像、聊天傳圖等常見類似場景都需要使用。為了保持不同裝置上體驗的一致性和較好的相容性,比較穩妥的做法是在應用內自實現相機拍照、相簿選圖和圖片裁剪功能。

6.關於Android RecyclerView的那些開源LayoutManager
Google預設為RecyclerView提供了LinearLayoutManager、StaggeredGridLayoutManager、GridLayoutManager,已經可以滿足很多開發需求了,但是實際開發過程中,免不了出現一些更加新穎的互動設計。於是,便從Github上整理了一波關於RecyclerView可以使用的LayoutManager,在實際開發中需要用到時,遇到相似的效果時即可隨手拈來,提高效率。

7.Android 系統中,那些能大幅提高工作效率的 API 彙總(持續更新中...)
“條條大路通羅馬。”工作中,實現某個需求的方式往往不是唯一的,這些不同實現方式不僅表現在程式碼質量上,還影響著我們的工作效率。就像,在 Android 系統中,總有那麼一些鮮為人知的 API 能夠減少我們很多零碎的工作量。於是,就想憑著一些經驗,整理一些常用的,找個地方歸納總結,也供日後翻閱。

8.震驚!如此多的 Android開發技巧!
一些很不錯的Android開發技巧,這個專案翻譯自 android-tips-tricks去掉了一些我認為不重要的,對我使用過的東東做了評價,同時翻譯了一些自己沒有注意到的知識點的文章。

9.Android 新推出基於物理的動畫庫,完全詮釋什麼叫做彈簧效果
Android 最近推出一個新的基於物理學的動畫支援庫,命名為:SpringAnimation(彈簧動畫),釋出在 Support Library 25.3.0 裡面。昨天,Google Android 研發工程師「Nick Butcher」在 Twitter 上釋出推文予以公佈,並在 gist 給出了一個簡單示例程式碼,演示 SpringAnimation的核心操作。

10.美團點評行動網路優化實踐
網路優化對於App產品的使用者體驗至關重要,與公司的運營和營收息息相關。這裡列舉兩個公開的資料:“頁面載入超過3秒,57%的使用者會離開。“Amazon頁面載入延長1秒,一年就會減少16億美金營收。

受歡迎的類庫
1.ChangeTabLayout
一款炫酷的TabLayout

2.ChannelTagView
一個新聞頻道管理 view

3.AutoScrollViewPager
輕量級的可以無限且自動滑動的 ViewPager

4.XXPictureCompress
一個 jni 圖片壓縮庫 使用簡單 一句話呼叫 無第三方依賴, 框架很小, 效果比魯班要好

5.XXDialog
一個萬能dialog

6.CoordinatortablayoutDemo
簡單模仿 Airbnb app 的首頁導航

7.ILayoutAnimationController
自定義LayoutAnimationController,一行程式碼搞定佈局動畫!

8.InputMethodHolder
A keyboard listener for Android which by hooking the InputMethodManager. 通過 hook 監聽系統鍵盤顯示

9.AppUpdate
Android 檢測更新庫

10.AppMethodOrder
一個能讓你瞭解所有函式呼叫順序的 Android 庫(無需侵入式程式碼)

完整專案
1.CloudReader
雲閱:一款基於網易雲音樂UI,使用Gank.Io及豆瓣api開發的符合Google Material Design的Android客戶端。專案採取的是MVVM-DataBinding架構開發,現主要包括:乾貨區、電影區和書籍區三個子模組。DIY網易雲音樂原來是如此Cool~
技術要點:
1、基本遵循Google Material Design設計風格。
2、乾貨集中營內容與豆瓣電影書籍內容。
3、MvvM-DataBinding的專案應用。
4、NavigationView搭配DrawerLayout的具體使用。
5、透明狀態列使用與版本適配。
6、高仿網易雲音樂歌單詳情頁。
7、RxBus代替EventBus進行元件之間通訊。
8、ToolBar的全方面使用。
9、Glide載入監聽,獲取快取,圓角圖片,高斯模糊。
10、水波紋點選效果詳細使用與適配。
11、RecyclerView下拉重新整理,上拉載入。
12、基於DataBinding的ViewHolder。
13、基於DataBinding的BaseActivity和BaseFragment。
14、Fragment懶載入模式。
15、SwipeRefreshLayout結合RecyclerView下拉重新整理上拉載入。
16、CoordinatorLayout+Behavior實現標題欄漸變。

效果預覽圖:

《Android 經驗分享》週刊第 11 期
1.jpg

《Android 經驗分享》週刊第 11 期
2.jpg

週刊外話
1.2017 年初、阿里、騰訊、百度、華為、京東、搜狗和滴滴面試題彙集(更新篇)
前一段時間和大牛們交流了一下,據反饋現在Android崗位也沒有以前那麼多了,沒這麼好找了,面臨2016年寒冬季節,大量公司模仿O2O模式導致死掉企業的很多,在加之培訓機構大量的培訓人,導致供大於求,當然這不意味著飽和,只是市場更趨於合理一些(只要技術好不用怕的)。以下是(2016、2017 、阿里、騰訊、百度、華為、京東、搜狗和滴滴面試題彙集)

更多精彩文章請關注微信公眾號"Android經驗分享":這裡將長期為您分享Android高手經驗、中外開源專案、原始碼解析、框架設計和Android好文推薦!

《Android 經驗分享》週刊第 11 期
掃一掃加我哦

相關文章