刘望舒的专栏

他强由他强,清风拂山岗;他横由他横,明月照大江;他自狠来他自恶,我自一口真气足。...

排序:
默认
按更新时间
按访问量

Android系统启动流程(一)解析init进程启动过程

作为“Android框架层”这个大系列中的第一个系列,我们首先要了解的是Android系统启动流程,在这个流程中会涉及到很多重要的知识点,这个系列我们就来一一讲解它们,这一篇我们就来学习init进程。

2017-02-07 11:29:48

阅读数:14807

评论数:4

设计模式(十三)抽象工厂模式

此前讲解过简单工厂模式和工厂模式,这一篇我们来学习工厂系列的最后一个模式抽象工厂模式,建议在阅读此文前,请先阅读[设计模式(四)简单工厂模式]

2017-02-06 13:26:06

阅读数:1804

评论数:1

设计模式(十二)享元模式

享元模式是结构型设计模式的一种,是池技术的重要实现方式,它可以减少应用程序创建的对象,降低程序内存的占用,提高程序的性能。

2017-02-05 13:31:41

阅读数:2125

评论数:7

Android系统架构与系统源码目录

技术博客终于可以恢复正常的更新速度了,原因是我编写的进阶书籍的初稿已经完成,窃以为它将会是Android应用书籍中最有深度的一本,可以说是《Android开发艺术探索》的姊妹篇。在这本书的最后一章我会分析Android底层源码,但是毕竟是一本Android应用开发的书,对于底层源码阅读也只能带大家...

2017-01-23 18:09:56

阅读数:25871

评论数:18

Android事件总线(四)源码解析otto

上一篇文章中讲到了otto的用法,这一篇我们来讲一下otto的源码。可能有人觉得otto过时了,但是通过源码我们学习的是高手设计otto时的设计理念,这种理念是不过时的。

2017-01-01 12:56:29

阅读数:3495

评论数:0

Android事件总线(三)otto用法全解析

otto 是 Square公司发布的一个发布-订阅模式框架,它基于Google Guava 项目中的event bus模块开发,针对Android平台做了优化和加强。虽然Square已经停止了对otto的更新并推荐使用RxJava和RxAndroid来替代它,但是otto的设计理念和源码仍旧值得学...

2016-12-16 12:48:55

阅读数:2892

评论数:0

Android网络编程(十一)源码解析Retrofit

最近博客的产出确实很少,因为博主我正在写一本Android进阶书籍,两头很难兼顾,但是每个月也得至少发一篇博客。上一篇我们介绍了Retrofit的使用方法,这一篇我们照例来学习Retrofit的源码。

2016-12-03 12:04:57

阅读数:3828

评论数:1

这只是个开始,写在CSDN博客访问量破百万

对与很多技术博客大神,百万的访问量不值一提,但是对我来说,这是一个里程碑,也是一个新的开始。因此写此文来纪念下,希望几年后的我阅读此文仍旧能不忘此时的初心。

2016-11-06 11:58:42

阅读数:3215

评论数:11

Android网络编程(十)Retrofit2后篇[注解]

在上一篇中我们了解了Retrofit的最基本的GET方式访问网络的写法以及请求参数的简单介绍。这一篇我们来详细的了解Retrofit的请求参数。

2016-11-02 16:14:10

阅读数:4874

评论数:0

Android多线程(三)AsyncTask源码分析(Android7.0)

此前写过一篇AsyncTask源码分析的文章,但写的不是很好,最近看过了android7.0的AsyncTask源码,所以准备再写一篇。

2016-10-19 12:52:06

阅读数:3056

评论数:1

设计模式(十一)策略模式

当我们写代码时总会遇到一种情况就是我们会有很多的选择,由此衍生出很多的if…else,或者case。比如我们根据学生的成绩来评级,60分是及格,90分是优秀,这就会用到很多if…else或者case。当然很多个算法集中在一个类的时候就会使得这个类变得臃肿,维护的成本也会加大。

2016-09-16 15:29:29

阅读数:5470

评论数:2

Android网络编程(九)Retrofit2前篇[基本使用]

Retrofit是Square公司开发的一款针对Android网络请求的框架,Retrofit2底层基于OkHttp实现的,而OkHttp现在已经得到Google官方认可,不了解OKHttp的请查看本系列的前作。

2016-09-11 17:37:58

阅读数:6922

评论数:2

Android响应式编程(一)RxJava前篇[入门基础]

在讲到RxJava之前我们首先要了解什么是ReactiveX,因为RxJava是ReactiveX的一种java实现。 ReactiveX是Reactive Extensions的缩写,一般简写为Rx,微软给的定义是,Rx是一个函数库,让开发者可以利用可观察序列和LINQ风格查询操作符来编写异步和...

2016-09-07 18:42:32

阅读数:7162

评论数:0

Android网络编程(八)源码解析OkHttp后篇[复用连接池]

上一篇我们根据OkHttp的源码讲解了OkHttp的请求网络流程,这一讲我们接着根据源码了解OkHttp的复用连接池。

2016-08-30 15:20:12

阅读数:10013

评论数:2

设计模式(十)工厂方法模式

在此前的设计模式(四)简单工厂模式中我们介绍了简单工厂模式,在这篇文章中我们来介绍下工厂方法模式,它同样是创建型设计模式,而且又有些类似,文章的末尾会介绍他们之间的不同。

2016-08-27 14:36:36

阅读数:4516

评论数:1

Android架构(一)MVP全解析

关于架构的文章,博主很早就想写了,虽说现在比较流行MVVM,但是MVP以及MVC也没有过时之说,最主要还是要根据业务来选择合适的架构。当然现在写MVP的文章很多,也有很多好的文章,但是大多数看完后还是一头雾水,所以还是自己总结比较靠谱。

2016-08-25 12:01:54

阅读数:10152

评论数:14

Android事件总线(二)EventBus3.0源码解析

上一篇我们讲到了EventBus3.0的用法,这一篇我们来讲一下EventBus3.0的源码以及它的利与弊。

2016-08-22 10:32:07

阅读数:7862

评论数:3

设计模式(九)模版方法模式

在软件开发中,有时会遇到类似的情况,某个方法的实现需要多个步骤,其中有些步骤是固定的,而有些步骤并不固定,存在可变性。为了提高代码的复用性和系统的灵活性,可以使用模板方法模式来应对这类情况。

2016-08-19 19:33:36

阅读数:5078

评论数:3

Android事件总线(一)EventBus3.0用法全解析

EventBus是一款针对Android优化的发布/订阅事件总线。简化了应用程序内各组件间、组件与后台线程间的通信。优点是开销小,代码更优雅,以及将发送者和接收者解耦。如果Activity和Activity进行交互还好说,如果Fragment和Fragment进行交互着实令人头疼,我们会使用广播来...

2016-08-17 10:21:59

阅读数:50933

评论数:23

Java并发编程(七)ConcurrentLinkedQueue的实现原理和源码分析

我们要实现一个线程安全的队列有两种实现方式一种是使用阻塞算法,另一种是使用非阻塞算法。使用阻塞算法的队列可以用一个锁(入队和出队用同一把锁)或两个锁(入队和出队用不同的锁)等方式来实现,而非阻塞的实现方式则可以使用循环CAS的方式来实现,本节我们就来研究下ConcurrentLinkedQueue...

2016-08-14 17:21:24

阅读数:6690

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭