Android高工必备技能!

作者 : 开心源码 本文共1919个字,预计阅读时间需要5分钟 发布时间: 2022-05-12 共164人阅读

Step 1. 玩转RxJava

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

  1. 给 Android 开发者的 RxJava 详解
  2. 开源项目Hello—RxJava让你彻底明白RxJava的异步编程。

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

项目地址: xinghongfei/Hello-RxJava

Step 2. 自己设置view

自己设置View主要掌握以下四部分内容:

  • 绘制机制:掌握onMeasure,onLayout,onDraw及相关类的用。
  • 事件传递机制:掌握dispathTouchEvent(),onInterceptEvent(),onTouchEvent()三者的相关逻辑.
  • 属性动画:由于属性动画核心是对数值的变化。自己设置View中用属性动画很方便对数值进行变换。
  • 相关手势类。
你需要的东西都在这里 xinghongfei/awesome-view

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

  1. 进程间通信
    进程间通信通常通过以下7种手段:
  • Bundle:主要是放在Intent中,在四大组件间传递。
  • 文件共享:一个进程写文件,一个进程读文件。
  • SharedPreferences: 不支持并发,底层基于xml。
  • Messenger:底层是通过IPC进行通信的,主要是进程间传递数据,不支持并发。
  • Socket:基于TCP协议。
  • AIDL: 支持并发,一个进程可以调使用另一个进程的方法。
  • ContentProvider:不同的应使用间数据共享。
    详解:《Android开发艺术探索》进程间通信读书笔记

2.进程保活

(我的学习过程是从入门到放弃:大家只做理解,初步了解原理就可)
Android 进程保活招式大全

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

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

开源项目Hello-Daemon

daemon.gif
项目地址 xinghongfei/Hello-Daemon

Step 4. 热修复

线上程序出现bug,必需要有妙手回春的本事,想成为一名Andorid高工,这是必备技能。

现在市面上热修复框架很多,以下是常见的四种。

TinkerQZoneAndFixDexposed
类替换yesyesnono
So替换yesnonono
资源替换yesyesnono
全平台支持yesyesyesno
即时生效nonoyesyes
性能损耗较小较大较小较小
补丁包大小较小较大一般一般
开发透明yesyesnono
复杂度较低较低复杂复杂
gradle支持yesnonono
接口文档丰富较少一般较少
Rom体积Dalvik较大较小较小较小
成功率较高最高一般一般

总的来说:

  1. Dexposed无法支持全平台,并不适合应使用到商业产品中。
  2. AndFix作为native处理方案,首先面临的是稳固性与兼容性问题,更重要的是它无法实现类替换,它是需要大量额外的开发成本的。
  3. QZone方案主要问题是插桩带来Dalvik的性能问题,以及为理解决Art下内存地址问题而导致补丁包急速增大的。
    Tinker热补丁方案不仅支持类、So以及资源的替换,它还是2.X-7.X的全平台支持。它无需插桩,补丁大小也远远小于其余方案。Tinker已运行在微信的数亿Android设施上。

Android 热补丁动态修复框架小结
Android热补丁动态修复技术系列
安卓App热补丁动态修复技术详情

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

tinker.gif

项目地址 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

项目地址 xinghongfei/Hello-MVP

Step 6. 整理中,敬请期待

Step 7.敬请期待

结语:为了收集整理这些东西,基本上整个国庆假期的时间和精力都花费在这个上面,希望会对大家有帮助,未来会不断的完善。假如你喜欢我的文章,可以关注我的Github,掘金,简书,????,后续会分享更多精彩的内容。祝好。

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Android高工必备技能!

发表回复