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 來源:简书 著做权归做者全部。商业转载请联系做者得到受权,非商业转载请注明出处。

相关文章
相关标签/搜索