Android開發技術周報 Issue#96
教程
-
和一些同行交流的過程中發現部分朋友實際上對 Android 打包流程基本沒有比較清晰完整的概念,所以本文主要聊一聊 Android 的打包流程,以及目前已有的或多或少可以與 Android 打包搭一點邊的開源技術,互相學習。 更好的了解 Android 的打包流程,有助于我們做一些針對編譯期的優化,包括但不限于提高打包速度(畢竟時間就是金錢,我的朋友),提高 Android 應用的 hack 難度增加安全性,減少 Android 安裝包的體積,完成一些自動化的編碼減少編碼壓力等。
-
或許我們都知道Android構建會經歷資源合并打包、源碼編譯、dex生成及打包簽名等步驟,可是不是每個人對這些過程中發生的事情都了然于心呢?或許不然,于是帶著好奇心開始了對Android gradle plugin的學習,現簡要整理一下。如果項目引入了android support包,又或許依賴于其它第三方aar庫,那構建前會將aar解壓并與本地資源合并,這里的資源主要包括assets目錄,res目錄及Androidmanifest.xml。
-
RxJava是一個實現Java響應式編程的庫,讓異步事件以序列的形式組織。MVP則通常用來將View業務層與Model層分離開來,兩者結合起來可輕松實現業務解耦、線程控制、單元測試等等強大功能
-
問題出在 Android 提供的壓縮圖片接口上,準確的說是一個 Android 里一個叫做 Skia 的庫上。而這個 bug 在 2016 年 4 月中旬被修復了,如果按照 Android 的發行來看,那就是從 Android 7 (Nougat) 開始才消除這個問題。
-
我們在安卓上進行性能測試時,如果想獲取CPU以及內存等常用性能指標,linux系統自身就提供了現成的方法,谷歌官方甚至公司內部也都提供了大量功能強大的分析工具。而相比之下,想要獲取GPU的相關指標則沒那么容易,甚至我們對GPU應該使用什么指標衡量都幾乎一無所知。這一方面是由于系統沒有提供相關接口與命令,另一方面似乎業界目前對于GPU的關注度不足,相關積累與沉淀較少,鑒于此,個人感覺GPU測試這一塊也可以作為終端專項后面需要關注及攻克的課題。
-
解析ViewTreeObserver源碼,體會觀察者模式、Android消息傳遞(下)
繼上篇內容,本文介紹 ViewTreeObserver 的使用,以及體會其所涉及的觀察者模式,期間會附帶回顧一些基礎知識。最后,我們簡單聊一下 Android 的消息傳遞,附高清示意圖,輕松捋清整個傳遞過程!在開始下篇之前,有必要回顧一下上篇提及的 ViewTreeObserver 的概念:ViewTreeObserver 是被用來注冊監聽視圖樹的觀察者,在視圖樹發生全局改變時將收到通知。這種全局事件包括但不限于:整個視圖樹的布局發生改變、在視圖開始繪制之前、視圖觸摸模式改變時
-
谷歌于8月22日也就是北京時間23日發布了Android 7.0 Nougat牛軋糖的正式版,愛哥也及時將手中的Nexus5X刷到了正式版7.0,把玩了一段時間后愛哥覺得在普通應用的功能上7.0木有太大的改進,當然這是相比5.0而言,5.0愛哥覺得算是Android改動較大的一個版本,剛出來就給人各種驚喜,相對而言7.0則沒那么多亮點,一個主要的原因是7.0中不少功能在國內各大各小的UI系統上都早有雛形甚至體驗比7.0更好,就拿7.0讓人期待的分屏來說,早在某米和某族等國產神機上就有了,某族上的一些應用分屏甚至做得更好
-
Android項目只能使用JaCoCo的離線插樁方式。為什么?主要是因為Android覆蓋率的特殊性:一般運行在服務器java程序的插樁可以在加載class文件進行,運用java Agent的機制,可以理解成"實時插樁"。JaCoCo提供了自己的Agent,完成插樁的同時,還提供了豐富的dump輸出機制,如File,Tcp Server,Tcp Client。覆蓋率信息可以通過文件或是Tcp的形式輸出。這樣外部程序可很方便隨時拿到被測程序的覆蓋率。
-
JAVA代碼覆蓋率工具JaCoCo-原理篇和JAVA代碼覆蓋率工具JaCoCo-實踐篇已經給大家介紹過了,本篇為踩坑篇,這里的話題不是說明JaCoCo有什么問題,而是把過程中遇到的幾個棘手問題的解決方法分享給大家,只要細心,放下焦慮的心態,問題都可以解決的。在項目中使用JaCoCo覆蓋率的時候,也遇到過各種奇葩的問題,在這里列出來分享下,問題和實際的項目關系密切,希望對有遇到過相似問題的童鞋有所啟發。
開源庫&項目
-
一個由來自餓了么團隊開源的 Android Hotfix 新方案
-
RecyclerView snapping example with SnapHelper
-
很酷的粒子動畫效果
-
一個強大、可定制、易擴展的 ViewPager 指示器框架
-
仿錘子閱讀下拉刷新效果
-
StateView ( By C君 )
StateView一個輕量級的控件, 繼承自View, 初始狀態下是不可見的, 不占布局位置, 占用內存少。 相對于其他具有同樣功能的一些控件, StateView更具有優勢
-
Google Play app behaviour collapsing toolbar
-
A "batteries included" port of Reduxjs for Kotlin+Android
-
unipiazza-android-twostepslogin An Android library that helps you to make a cool two steps login in Material Design way. Such as Google web login
-
Expandable TextView With Smooth Transition Animation
-
A custom indicator for ViewPager
-
A custom wavy line view for android.
工具
-
ADB 用法大全
視頻
設計
技術之外
來自:http://www.androidweekly.cn/android-dev-weekly-issue-96/