2016年干货小结

16年过来,进了传说中的某厂,福利不错~~技术知识方面也有一些其他的收获,总结如下,对比一下技术:
总体上来说,新东家程序员不用关心底层,只需关注业务逻辑和ui就好。
老东家需要自己定义的地方比较多

1. 架构上:

新东家 mvvm + DataBinding
猪厂那边则是传统mvc,比较笨重,一个Activity中代码上1000行,业务逻辑全糅杂在里面了。

2. 三方库:

新东家其实很少直接使用三方库,一般都进行了些优化借鉴参考或改写,老东家直接拿来使用。

分情况说:

a. 网络请求

新东家自己做了封装了一套传输协议,比较高大上,平时写代码几乎可以不用关心数据传输问题。网路请求只是个体力活,之间的封装,抽象性均较高。朋友们可能注意到我使用的是几乎不,是的,这里我就遇到一些坑,比如图片,音频上传需求时就遇到过,一次灰度版本也遇到过改动底层协议的命名出现一个比较严重的大范围crash,所以封装程度高也有缺点,在做逻辑或修改时,不小心会踩坑。

前东家,恩,网络框架整个借鉴流程。先AsyncHttpClient,然后引入Volley, 15年时引入okhttp + Gson(严格算和前面两个不是同一类型),这里做的很不好的地方,杂糅太多框架,可扩展性较差,初次的架构没考虑到以后,替换框架成本较大。离职的时候都还有前面两个框架在里面,还准备引入retrofit也是醉了。

b 图片框架

新东家,这里还是自己写了一个图片库,使用较简单,可配置性较高,然后同事添加上 DataBinding的bingdingAdapter后,简单的图片都不需要写请求代码,xml配置就好。复杂点使用配置属性,就可以搞定。当然,databinding 也带来些坑。可以参照之前文章http://www.jianshu.com/p/d82bb995db4d 综上,能满足所有的要求,支持配置,使用较简单。

老东家,图片库与网络请求类似,Imageloader 然后部分替换Glide,替换和使用过程也遇到一些坑。 Glide还是很强大的,支持gif,代码量不大(居中Fresco>Glide>Picasso)。 Picasso 优势在于可以选择将网络请求的缓存部分交给了okhttp实现,Square的全家桶。Fresco天生缺点太大了。可参见这篇的思路改造下: http://mp.weixin.qq.com/s?__biz=MzI2OTQxMTM4OQ==&mid=2247484509&idx=1&sn=0cd5005e1d8137cdba01315552bf49f3&chksm=eae1f10fdd9678198a15ba0938f7dc8909a7e2c2d16c58bc4c72e70c4e8b7ff50fb6bb7f68ed#rd

c 异步
这个两家公司类似,参考Asycktask自己写了一个,解决其版本不一致导致的串行和并行问题,以及请求数不操过128问题。

d 组件间 消息通知

新东家,这里也有两个库杂糅在一起,EventCenter ,LocalBroadcastManager。 第一个是参考Event bus 的,接口基本一致,但是优化方面做的没有Event bus 好。

老东家直接Event bus。

e 缓存

这里基本上一直 DB + sp及内存级

新东家DB 自己采用ORM + 注解封装了下,注解消耗一定性能,但代码量小和使用上较简单。

老东家DB 自己写sqlite helper,配置较高,可优化较高,但实际工程中,需要优化的地方不多。

f 混合框架

新东家自家的混合框架

老东家 ydk,JsBridge http://www.jianshu.com/p/fce3e2f9cabc

g 一些其他的:

新东家,框架mvvm + DataBinding 框架,再加上抽象,基本上Activity代码不超过10行,在fragment层级中进行处理。性能优化方面,老东家确实不如,比如anr分析,traceView卡慢监听,代码规范,内存泄漏等。 技术上,这边多了些:比如换肤,热修复,进程保活、jni编程。代码混淆、自动化打包、持续集成(自己的)、项目管理svn(比较坑些)。

老东家:
dex分包另起进程加载优化启动速度,android-priority-jobqueue 线程管理 自动化打包、持续集成jenkins、项目管理git。

另外谈谈为嘛不引入RxJava

15年起,RxJava文章遍地走,其实我觉得其大而不当,能力不专。最核心能力就是异步并发, 流式处理上,这个确实强大。一般而言,公司都形成了自己的异步框架。实际项目中多个线程的同步, android-priority-jobqueue这个库基本可以满足要求。其他网上的扩展的组件消息传递与EventBus性能上还是一定差距。至于其扩展的RxBinding, DataBinding基本上能替代。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,607评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,047评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,496评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,405评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,400评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,479评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,883评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,535评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,743评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,544评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,612评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,309评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,881评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,891评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,136评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,783评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,316评论 2 342

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,364评论 25 707
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,010评论 4 62
  • 晚安,听我讲个故事。 已经记不起来是在16年11月中旬以后的哪一天,毅然决然地把网名换成了阿猫阿狗,就一直用...
    宋宝木阅读 956评论 0 0
  • 1 飞燕在如画的春色里翻腾,时而向空中窜上一丈有余,就停止了作为,张开了双翅在成片的稻田上空滑翔,寻觅着往下坠去,...
    郭劼阅读 553评论 2 4
  • 生活中,大多数的交流对话过程中,你不果断回答“是”,或者“不是”,在你与对话者你一句我一句的过程中,对话者会当做你...
    喜妞阅读 303评论 0 0