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:不同的应用间数据共享。
三枪干掉IPC机制之一
老罗的讲解
2.进程保活
虽然我挺讨厌进程保活的,让app一直不能被kiss(有些办法能kiss app),但是app推送的时候,进程的保活就显得至关重要了。
Android 进程保活招式大全
论Android应用进程长存的可行性
微信Android客户端后台保活经验分享
最后不得不说的事github开源的关于进程保活的demo
开源项目Hello-Daemon
三.热修复
线上程序出现bug,必须要有妙手回春的本事,很多大公司都有这项技术,而且并把他们的技术给开源了贡献给大家学习参考。
Android 热补丁动态修复框架小结
QQ空间的热修复
腾讯
AndFix使用说明
Android Hotfix 新方案——Amigo 源码解读
Android热更新方案Robust
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]
浅谈 MVP in Android
选择恐惧症的福音!教你认清MVC,MVP和MVVM
Android应用中MVP最佳实践
Android官方MVP架构项目解析
Android APP架构心得
Android应用架构
网上关于这方面的很多,关键的是动手写,去体会
五.响应式编程
关于响应式编程你必须要知道的RxJava,这个东西出来有段时间了,最近发现特别红,还特地去研究了一下,使用RxJava处理异步极其方便,各种操作符可以对数据做流水线式操作,再加上与Retrofit的结合,使得Andorid开发变的极其简单。唯一美中不足的就是RxJava不符合我们以往的编程思想,学习Rxjava存在一定的难度,很多工程师对Rxjava都不能完全理解。实践会让人更明白。
ReactiveX/RxJava文档中文版
ReactiveX/RxJava文档查询手册
给 Android 开发者的 RxJava 详解
Rxjava
关于RxJava最友好的文章
RxJava-Android-Samples
RxAndroid
RxWeather
还有一个就是EventBus,
EventBus
EventBus使用详解
六.性能优化
Android的致命问题——性能优化,一个好的APP除了功能强大,性能好更是必不可少。调查显示,用户卸载软件的大多数就是因为性能差而卸载的,因此性能优化在Android开发中显得非常的重要。因此必备绝杀技性能优化让软件用着爽起来
Android的致命问题——性能优化
leakcanary性能优化工具
acra性能优化工具
Android客户端性能优化(魅族资深工程师毫无保留奉献)
BlockCanary — 轻松找出Android App界面卡顿元凶
Android性能调优利器StrictMode
App瘦身最佳实践
七.Github的使用
Github的使用,Github的上面有全世界的开发者在上面开源自己的项目供大家学习讨论,Github程序员的净土。去学习了解别人的思路,让自己慢慢的强大。
从0开始学习 GITHUB 系列之「初识 GITHUB」
从0开始学习 GITHUB 系列之「加入 GITHUB」
从0开始学习 GITHUB 系列之「GIT 速成」
从0开始学习 GITHUB 系列之「向GITHUB 提交代码」
从0开始学习 GITHUB 系列之「GIT 进阶」
从0开始学习 GITHUB 系列之「团队合作利器 BRANCH」
从0开始学习 GITHUB 系列之「GITHUB 常见的几种操作」
GitHub 上各大语言的一些牛人
GitHub上排名前100的Android开源库介绍
GitHub 安卓最火开源项目综合排行版
GitHub 安卓最火开源项目每周排行版
不得不说的安卓大神Jake Wharton,我们用的很多开源库都是出自他之手
八.多交一些土豪朋友啥的有了,开的玩笑,还是加班Coding吧!!!