【精】 学历史有什么用

之前在朋友圈发我学中亚地区历史的时候,碰到朋友问的最多的问题就是这个了:学历史有什么用。
凡是在朋友圈问我这个问题的,我基本上都是一句话:互联网没有增量了,多学点历史没坏处的。因为手机上解释的多了,我打字累,再加上别人也不一定愿意听,可能纯粹就是随便问一句。

Android业务组件化开发实践

借用阿布倪盟博的一句话:“在MDCC中冯森林老师的《回归初心,从容器化到组件化》,为我们这些没有那么多精力折腾黑科技开发者们打开了另一扇门” 。

记划词模块重构感受

何为中毒,并不是说性能多么差,也不是代码多么烂,而是你容易受到别人代码的影响,不知不觉间就顺着他的思路走了。

深入浅出 RecyclerView

起深入浅出这名字的时候我是慎重又慎重的,生怕被人骂标题党,写的什么破玩意还敢说深入浅出。所以还是请大家不要抱着太高的期望,因为没有期望就没有失望,就像陈润说的,超预期嘛。全当看小说的心情来看这系列文章了。

6·25 插件化技术分享 PPT

如何做到只用 1500 行代码完成一个插件化框架,Android 插件化的本质是什么,插件化的内部又是怎样的黑科技实现,了解原理才能更好的应用

《给你一个技术团队,你该怎么管》

用一句话概括,这本书讲的就是:怎样打造一个开发团队。

8个类搞定插件化——Service实现方案

动态加载一个 Service 到应用中,同样采用的是和 Activity 一样的伪装欺骗系统识别的方案。

8个类搞定插件化——Activity实现方案

前两篇文章写完后,有人跟我说怎么觉得你文章风格突然变了,最近讲了这么多内容变啰嗦了,没有你高效率精简的风格了。宝宝心里苦啊,不是我不想,实在是插件化这东西,如果你不知道理论知识的话,根本没办法去理解啊。接下来这几篇我尽可能的以实践为主,让大家都能看得懂。

Android 热修复,没你想的那么难

一种动态加载最简单的实现方式,代码实现起来非常简单,重要的是这种思路和原理

Android 插件化的 过去 现在 未来

第一篇文章,作为序文,并没有什么实质性内容,仅仅是一些八卦和历史,重效率的朋友可以选择直接跳过。

《引爆点》笔记与思考

今天,参加沪江星兵营活动,其中一个议题叫:【怎样吸引更多的中学生成为沪江的用户】,说到吸引用户,正好就用上了《引爆点》这本书讲述的内容。

面试后的总结

“基础 Android 知识掌握的不错,学习能力也不错。但是基础知识部分比较薄弱,有些概念和逻辑掌握不清。” 感谢春林的这句话。

记一次代码探查过程

从 Volley 源码中延伸学习到的 HTTP 请求头的知识

2015年终总结

就像一个终生跋涉的香客,不停地寻找一座可能根本不存在的神庙,我不知道他寻求的是什么不可思议的涅槃。我只知道,我们中的大多数,苟活一生,却从不曾寻找。我想也许你该停下来,看看你走的路,想想你想要的真实。————Seven凉奈《你的生活,该如何安放》

EventBus源码研读(下)

EventBus 是一款针对Android优化的发布/订阅事件总线。主要功能是替代Intent, Handler, BroadCast 在 Fragment,Activity,Service,线程之间传递消息.优点是开销小,使用方便,可以很大程度上降低它们之间的耦合,使得我们的代码更加简洁,耦合性更低,提升我们的代码质量。 类似的库还有 Otto ,今天就带大家一起研读 EventBus 的源码.

EventBus源码研读(中)

EventBus 是一款针对Android优化的发布/订阅事件总线。主要功能是替代Intent, Handler, BroadCast 在 Fragment,Activity,Service,线程之间传递消息.优点是开销小,使用方便,可以很大程度上降低它们之间的耦合,使得我们的代码更加简洁,耦合性更低,提升我们的代码质量。 类似的库还有 Otto ,今天就带大家一起研读 EventBus 的源码.

EventBus源码研读(上)

本文总共分三部分,从源码角度分析了 EventBus 库。以及介绍了其内部实现注册、发送、响应、取消注册的原理。

记一次 ListView 性能优化过程

奇葩需求催生创新,记一次对 ListView 的性能优化。(当然,RecyclerView 也是一样)

聊聊 Apache 开源协议

用一句话概括 Apache License 就是,你可以用这代码,但是如果开源你必须保留我写的声明;你可以改我的代码,但是如果开源你必须写清楚你改了哪些;你可以加新的协议要求,但不能与我所公布的协议要求产生冲突;你用这代码干什么我不管,但是你不能让我承担任何责任。

生日快乐

每个人都会沉迷在自己的戏里,就看什么时候观众会看不下去而叫醒你。——《说故事的人》