Android高工必備技能!

Step 1. 玩轉RxJava

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

  1. 給 Android 開發者的 RxJava 詳解
  2. 開源項目Hello—RxJava讓你完全明白RxJava的異步編程。

能夠清晰看到操做都發生在什麼線程中java

項目地址:https://github.com/xinghongfei/Hello-RxJavaandroid

Step 2. 自定義view

自定義View主要掌握如下四部份內容:git

  • 繪製機制:掌握onMeasure,onLayout,onDraw及相關類的使用。
  • 事件傳遞機制:掌握dispathTouchEvent(),onInterceptEvent(),onTouchEvent()三者的相關邏輯.
  • 屬性動畫:由於屬性動畫核心是對數值的變化。自定義View中使用屬性動畫很方便對數值進行變換。
  • 相關手勢類。

你須要的東西都在這裏https://github.com/xinghongfei/awesome-viewgithub

Step 3. 進程間通訊與進程保活

  1. 進程間通訊
    進程間通訊一般經過如下7種手段:
  • 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高工,這是必備技能。

如今市面上熱修復框架不少,如下是常見的四種。

  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設備上。

    Android 熱補丁動態修復框架小結
    Android熱補丁動態修復技術系列
    安卓App熱補丁動態修復技術介紹

下面這個項目是一個基於熱修復框架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掘金簡書,😄😄,後續會分享更多精彩的內容。祝好。

做者:Maat紅飛 連接:http://www.jianshu.com/p/d791bbede02c 來源:簡書 著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。

相關文章
相關標籤/搜索