【原文地址 點擊打開鏈接】
Step 1. 玩轉RxJava
使用RxJava處理異步極其方便,各種操作符可以對數據做流水線式操作,再加上與Retrofit的結合,使得Andorid開發變的極其簡單。唯一美中不足的就是RxJava不符合我們以往的編程思想,學習Rxjava存在一定的難度,很多工程師對Rxjava都不能完全理解。不過,相信以下2個內容會讓你對Rxjava的使用有一個更清晰的認識。
- RxJava入門
給 Android 開發者的 RxJava 詳解 - RxJava進階
開源項目Hello—RxJava讓你徹底明白RxJava的異步編程。
可以清晰看到操作都發生在什麼線程中
項目地址:https://github.com/xinghongfei/Hello-RxJava
Step 2. 自定義view
自定義View主要掌握以下四部分內容:
- 繪製機制:掌握onMeasure,onLayout,onDraw及相關類的使用。
- 事件傳遞機制:掌握dispathTouchEvent(),onInterceptEvent(),onTouchEvent()三者的相關邏輯.
- 屬性動畫:因爲屬性動畫核心是對數值的變化。自定義View中使用屬性動畫很方便對數值進行變換。
- 相關手勢類。
你需要的東西都在這裏https://github.com/xinghongfei/awesome-view
Step 3. 進程間通信與進程保活
- Bundle:主要是放在Intent中,在四大組件間傳遞。
- 文件共享:一個進程寫文件,一個進程讀文件。
- SharedPreferences: 不支持併發,底層基於xml。
- Messenger:底層是通過IPC進行通信的,主要是進程間傳遞數據,不支持併發。
- Socket:基於TCP協議。
- AIDL: 支持併發,一個進程可以調用另一個進程的方法。
- ContentProvider:不同的應用間數據共享。
詳解:《Android開發藝術探究》進程間通信讀書筆記
2.進程保活
開源項目Hello-Daemon
daemon.gif
項目地址https://github.com/xinghongfei/Hello-Daemon
Step 4. 熱修復
線上程序出現bug,必須要有妙手回春的本事,想成爲一名Andorid高工,這是必備技能。
Android 熱補丁動態修復框架小結
Android熱補丁動態修復技術系列
安卓App熱補丁動態修復技術介紹
現在市面上熱修復框架很多,以下是常見的四種。
Tinker | QZone | AndFix | Dexposed | |
---|---|---|---|---|
類替換 | yes | yes | no | no |
So替換 | yes | no | no | no |
資源替換 | yes | yes | no | no |
全平臺支持 | yes | yes | yes | no |
即時生效 | no | no | yes | yes |
性能損耗 | 較小 | 較大 | 較小 | 較小 |
補丁包大小 | 較小 | 較大 | 一般 | 一般 |
開發透明 | yes | yes | no | no |
複雜度 | 較低 | 較低 | 複雜 | 複雜 |
gradle支持 | yes | no | no | no |
接口文檔 | 豐富 | 較少 | 一般 | 較少 |
Rom體積 | Dalvik較大 | 較小 | 較小 | 較小 |
成功率 | 較高 | 最高 | 一般 | 一般 |
總的來說:
- Dexposed無法支持全平臺,並不適合應用到商業產品中。
- AndFix作爲native解決方案,首先面臨的是穩定性與兼容性問題,更重要的是它無法實現類替換,它是需要大量額外的開發成本的。
- QZone方案主要問題是插樁帶來Dalvik的性能問題,以及爲了解決Art下內存地址問題而導致補丁包急速增大的。
Tinker熱補丁方案不僅支持類、So以及資源的替換,它還是2.X-7.X的全平臺支持。它無需插樁,補丁大小也遠遠小於其他方案。Tinker已運行在微信的數億Android設備上。
下面這個項目是一個基於熱修復框架Tinker的Demo,並總結了一些常見的問題。
tinker.gif
項目地址https://github.com/xinghongfei/Hello-Tinker
Step 5. 架構
常見的架構有:MVC,MVP,MVVM。使用最多的就是MVC架構了,現在很多應用也使用MVP架構,MVVM用的還很少。
architucture.png
Android App的設計架構:MVC,MVP,MVVM與架構經驗談
Google的android-architecture
Android Data Binding
下面這個項目是一個特別簡單的MVP架構框架,模擬文件下載。
mvp.gif
項目地址https://github.com/xinghongfei/Hello-MVP
Step 6. 整理中,敬請期待
Step 7.這一步最難,敬請期待
結語:爲了收集整理這些東西,基本上整個國慶假期的時間和精力都花費在這個上面,希望會對大家有幫助,未來會不斷的完善。如果你喜歡我的文章,可以點擊這裏Github進我高大上、帥的不能不能的國外網站看看,也可以點這裏掘金我超愛的一個博文平臺,這個就不要點啦簡書,