Android提升:高工必备技能!

相关阅读:

吊炸天!74款APP完整源码!

123个微信小程序源码分享(附下载)

[干货]2017已来,最全面试总结——这些Android面试题你一定需要




公众号:Java和Android架构

关注回复:Android,iOS,PHP,js,HTML5,Python,机器学习 ,AI,大数据,Hadoop,c++,J2EE等关键字就能免费获取学习资料视频




Step 1. 玩转RxJava

使用RxJava处理异步极其方便,各种操作符可以对数据做流水线式操作,再加上与Retrofit的结合,使得Andorid开发变的极其简单。唯一美中不足的就是RxJava不符合我们以往的编程思想,学习Rxjava存在一定的难度,很多工程师对Rxjava都不能完全理解。不过,相信以下2个内容会让你对Rxjava的使用有一个更清晰的认识。

  1. 给 Android 开发者的 RxJava 详解

  2. 开源项目Hello—RxJava让你彻底明白RxJava的异步编程。

Android提升:高工必备技能!_第1张图片

可以清晰看到操作都发生在什么线程中

项目地址:https://github.com/xinghongfei/Hello-RxJava

Step 2. 自定义view

自定义View主要掌握以下四部分内容:

  • 绘制机制:掌握onMeasure,onLayout,onDraw及相关类的使用。

  • 事件传递机制:掌握dispathTouchEvent(),onInterceptEvent(),onTouchEvent()三者的相关逻辑.

  • 属性动画:因为属性动画核心是对数值的变化。自定义View中使用属性动画很方便对数值进行变换。

  • 相关手势类。

Step 3. 进程间通信与进程保活

  1. 进程间通信

    进程间通信通常通过以下7种手段:

  • Bundle:主要是放在Intent中,在四大组件间传递。

  • 文件共享:一个进程写文件,一个进程读文件。

  • SharedPreferences: 不支持并发,底层基于xml。

  • Messenger:底层是通过IPC进行通信的,主要是进程间传递数据,不支持并发。

  • Socket:基于TCP协议。

  • AIDL: 支持并发,一个进程可以调用另一个进程的方法。

  • ContentProvider:不同的应用间数据共享。
    详解:《Android开发艺术探究》进程间通信读书笔记

    2.进程保活

Android 进程保活招式大全

论Android应用进程长存的可行性

微信Android客户端后台保活经验分享

开源项目Hello-Daemon


Android提升:高工必备技能!_第2张图片

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设备上。

下面这个项目是一个基于热修复框架Tinker的Demo,并总结了一些常见的问题。

Android提升:高工必备技能!_第3张图片

tinker.gif

项目地址https://github.com/xinghongfei/Hello-Tinker

Step 5. 架构

常见的架构有:MVC,MVP,MVVM。使用最多的就是MVC架构了,现在很多应用也使用MVP架构,MVVM用的还很少。

Android提升:高工必备技能!_第4张图片

architucture.png

Android App的设计架构:MVC,MVP,MVVM与架构经验谈
Google的android-architecture
Android Data Binding

下面这个项目是一个特别简单的MVP架构框架,模拟文件下载。

Android提升:高工必备技能!_第5张图片

mvp.gif

项目地址https://github.com/xinghongfei/Hello-MVP

Step 6. 整理中,敬请期待


关于Java和Android大牛频道

Java和Android大牛频道是一个数万人关注的探讨Java和Android开发的公众号,分享和原创最有价值的干货文章,让你成为这方面的大牛!

我们探讨android和Java开发最前沿的技术:android性能优化 ,插件化,跨平台,动态化,加固和反破解等,也讨论设计模式/软件架构等。由群来自BAT的工程师组成的团队

关注即送红包,回复:“百度” 、“阿里”、“腾讯” 有惊喜!!!关注后可用入微信群。群里都是来自百度阿里腾讯的大牛。

欢迎关注我们,一起讨论技术,扫描和长按下方的二维码可快速关注我们。搜索微信公众号:JANiubility。

Android提升:高工必备技能!_第6张图片

公众号:JANiubility

你可能感兴趣的:(Android高阶)