您的位置:首页 > 移动开发 > Android开发

Android提升:高工必备技能!

2017-08-16 14:34 344 查看
相关阅读:

吊炸天!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的使用有一个更清晰的认识。

给 Android 开发者的 RxJava 详解

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



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

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


Step 2. 自定义view

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

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

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

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

相关手势类。


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

进程间通信

    进程间通信通常通过以下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高工,这是必备技能。

Android 热补丁动态修复框架小结

Android热补丁动态修复技术系列 

安卓App热补丁动态修复技术介绍

现在市面上热修复框架很多,以下是常见的四种。
TinkerQZoneAndFixDexposed
类替换yesyesnono
So替换yesnonono
资源替换yesyesnono
全平台支持yesyesyesno
即时生效nonoyesyes
性能损耗较小较大较小较小
补丁包大小较小较大一般一般
开发透明yesyesnono
复杂度较低较低复杂复杂
gradle支持yesnonono
接口文档丰富较少一般较少
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. 整理中,敬请期待

关于Java和Android大牛频道

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

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

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

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



公众号:JANiubility
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息