Android 工程師必備技能!

【原文地址 點擊打開鏈接

Step 1. 玩轉RxJava

使用RxJava處理異步極其方便,各種操作符可以對數據做流水線式操作,再加上與Retrofit的結合,使得Andorid開發變的極其簡單。唯一美中不足的就是RxJava不符合我們以往的編程思想,學習Rxjava存在一定的難度,很多工程師對Rxjava都不能完全理解。不過,相信以下2個內容會讓你對Rxjava的使用有一個更清晰的認識。

  1. RxJava入門
    給 Android 開發者的 RxJava 詳解
  2. 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.進程保活

Android 進程保活招式大全

論Android應用進程長存的可行性

微信Android客戶端後臺保活經驗分享

開源項目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較大 較小 較小 較小
成功率 較高 最高 一般 一般

總的來說:

  1. Dexposed無法支持全平臺,並不適合應用到商業產品中。
  2. AndFix作爲native解決方案,首先面臨的是穩定性與兼容性問題,更重要的是它無法實現類替換,它是需要大量額外的開發成本的。
  3. QZone方案主要問題是插樁帶來Dalvik的性能問題,以及爲了解決Art下內存地址問題而導致補丁包急速增大的。
    Tinker熱補丁方案不僅支持類、So以及資源的替換,它還是2.X-7.X的全平臺支持。它無需插樁,補丁大小也遠遠小於其他方案。Tinker已運行在微信的數億Android設備上。

下面這個項目是一個基於熱修復框架TinkerDemo,並總結了一些常見的問題。


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進我高大上、帥的不能不能的國外網站看看,也可以點這裏掘金我超愛的一個博文平臺,這個就不要點啦簡書

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章