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

《Android經驗分享》收錄國內外最近一週熱門的技術博客以及優秀的類庫,星期一傍晚將準時更新給你們
微信公衆號:Android經驗分享
QQ討論羣:386067289

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

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

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

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

2. 一種Android客戶端架構設計分享
技術發展突飛猛進,業界各類Android客戶端架構設計,五花八門,但咱們不能簡單地說哪一種架構更好,由於脫離業務談架構是沒有任何意義的,適合業務的纔是好架構。而架構也不是一成不變的,隨着業務的發展,也許當初設計的架構已不足以支撐目前的業務,那麼就須要改變以前的架構。接下來將分享下咱們Android客戶端的架構設計,在App的某個業務發展階段或許有一些參考意義。面試

3.Android可伸縮佈局-FlexboxLayout(支持RecyclerView集成)
咱們在開發的過程當中會不可避免的引用一些第三方庫,好比網絡請求庫、圖片加載庫等等。就拿圖片加載庫來講,程序中不會只有一個地方來引用到此庫,可能有N個類會用到此庫來顯示圖片。這種狀況下,就能夠經過一箇中間層來引用「第三方圖片加載庫」。這樣作的好處是無論第三方圖片加載庫換成Picasso仍是Glide,只需改變中間層,其餘的一行代碼都不須要改動。閱讀文章,瞭解詳細方案。api

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~
技術要點:
一、基本遵循Google Material Design設計風格。
二、乾貨集中營內容與豆瓣電影書籍內容。
三、MvvM-DataBinding的項目應用。
四、NavigationView搭配DrawerLayout的具體使用。
五、透明狀態欄使用與版本適配。
六、高仿網易雲音樂歌單詳情頁。
七、RxBus代替EventBus進行組件之間通信。
八、ToolBar的全方面使用。
九、Glide加載監聽,獲取緩存,圓角圖片,高斯模糊。
十、水波紋點擊效果詳細使用與適配。
十一、RecyclerView下拉刷新,上拉加載。
十二、基於DataBinding的ViewHolder。
1三、基於DataBinding的BaseActivity和BaseFragment。
1四、Fragment懶加載模式。
1五、SwipeRefreshLayout結合RecyclerView下拉刷新上拉加載。
1六、CoordinatorLayout+Behavior實現標題欄漸變。

效果預覽圖:

1.jpg

2.jpg

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

更多精彩文章請關注微信公衆號"Android經驗分享":這裏將長期爲您分享Android高手經驗、中外開源項目、源碼解析、框架設計和Android好文推薦!

掃一掃加我哦
相關文章
相關標籤/搜索