Android 必备绝杀技
伴随科技的快速发展,程序员不像原先那么的稀少珍贵了,在帝都的大街上程序员一抓一大把,如何才能与普通程序员不同,成为一位牛逼的程序员了,这些技巧会让你增分不少。
一.自定义view
模仿iOS的一些特效,Android本身没有这些特效,这时候你就需要去自定义view去实现这些高逼格的特效了,自定义view必不可少,而且很考验你的逻辑。
自定义view主要要掌握的内容:
1.绘制机制:掌握onMeasure,onLayout,onDraw及相关类Canvas等的使用。
2.事件传递机制:掌握dispathTouchEvent(),onInterceptEvent(),onTouchEvent()三者的相关逻辑.
3.属性动画:因为属性动画核心是对数值的变化。自定义View中使用属性动画很方便对数值进行变换。
4.相关手势类。
Github 自定义view成长必杀技
自定义view详解
自定义View学习视频
二.进程间通信与进程保活
1.进程间通信
进程间通信通常通过以下7种手段:
Bundle:主要是放在Intent中,在四大组件间传递。
文件共享:一个进程写文件,一个进程读文件。
SharedPreferences: 不支持并发,底层基于xml。
Messenger:底层是通过IPC进行通信的,主要是进程间传递数据,不支持并发。
Socket:基于TCP协议。
AIDL: 支持并发,一个进程可以调用另一个进程的方法。
ContentProvider:不同的应用间数据共享。
2.进程保活
虽然我挺讨厌进程保活的,让app一直不能被kiss(有些办法能kiss app),但是app推送的时候,进程的保活就显得至关重要了。
最后不得不说的事github开源的关于进程保活的demo
开源项目Hello-Daemon
三.热修复
线上程序出现bug,必须要有妙手回春的本事,很多大公司都有这项技术,而且并把他们的技术给开源了贡献给大家学习参考。
Android Hotfix 新方案——Amigo 源码解读
Android热补丁动态修复技术(三)—— 使用Javassist注入字节码,完成热补丁框架雏形(可使用)
现在市面上热修复框架很多,以下是常见的四种。
1.Dexposed无法支持全平台,并不适合应用到商业产品中。
AndFix作为native解决方案,首先面临的是稳定性与兼容性问题,更重要的是它无法实现类替换,它是需要大量额外的开发成本的。
2.QZone方案主要问题是插桩带来Dalvik的性能问题,以及为了解决Art下内存地址问题而导致补丁包急速增大的。
3.Tinker热补丁方案不仅支持类、So以及资源的替换,它还是2.X-7.X的全平台支持。它无需插桩,补丁大小也远远小于其他方案。Tinker已运行在微信的数亿Android设备上。
四.架构
不想当架构师的程序员不是好程序员,说到Android的架构大家都会说到MVC,MVP,MVVM。使用最多的就是MVC架构了,现在很多应用也使用MVP架构,MVVM用的还很少。
Android App的设计架构:MVC,MVP,MVVM与架构经验谈
Android Architecture Blueprints [beta]
网上关于这方面的很多,关键的是动手写,去体会
五.响应式编程
关于响应式编程你必须要知道的RxJava,这个东西出来有段时间了,最近发现特别红,还特地去研究了一下,使用RxJava处理异步极其方便,各种操作符可以对数据做流水线式操作,再加上与Retrofit的结合,使得Andorid开发变的极其简单。唯一美中不足的就是RxJava不符合我们以往的编程思想,学习Rxjava存在一定的难度,很多工程师对Rxjava都不能完全理解。实践会让人更明白。
还有一个就是EventBus,
六.性能优化
Android的致命问题——性能优化,一个好的APP除了功能强大,性能好更是必不可少。调查显示,用户卸载软件的大多数就是因为性能差而卸载的,因此性能优化在Android开发中显得非常的重要。因此必备绝杀技性能优化让软件用着爽起来
BlockCanary — 轻松找出Android App界面卡顿元凶
七.Github的使用
Github的使用,Github的上面有全世界的开发者在上面开源自己的项目供大家学习讨论,Github程序员的净土。去学习了解别人的思路,让自己慢慢的强大。
从0开始学习 GITHUB 系列之「向GITHUB 提交代码」
从0开始学习 GITHUB 系列之「团队合作利器 BRANCH」
从0开始学习 GITHUB 系列之「GITHUB 常见的几种操作」
不得不说的安卓大神Jake Wharton,我们用的很多开源库都是出自他之手
八.多交一些土豪朋友啥的有了,开的玩笑,还是加班Coding吧!!!