嘻哈包袱铺 专栏

github开源项目 https://github.com/GeekGhost/Ghost

Android 设计模式实战笔记 外观模式(统一编程接口)

定义: 要求子系统的外部与其内部的通信必须通过一个统一的对象进行, 使用使用场景: 1.为一个复杂子系统一共一个简单接口,对象隐藏子系统的具体实现,隔离变化 实战 电话接口 public interface Phone { public void dai...

2016-11-18 15:25:51

阅读数:202

评论数:0

Android 设计模式实战笔记 享元模式

定义: 享元模式是对象池的一种实现,用来尽可能减少内存使用量, 使用共享对象存在大量的相似对象 使用使用场景: 1.系统中存在大量的相似对象 2.细微粒的对象都具备较接近的外部状态,而且内部状态与环境无关,也就是说对象没有特定状态 3.需要缓冲池的场景 实...

2016-11-18 15:06:31

阅读数:223

评论数:0

Android 设计模式实战笔记 代理模式

定义: 为其他对象提供一种代理以控制对这个对象的访问 使用使用场景: 1.当无法或不想直接访问某个对象或者访问某个对象存在困难时可以通过一个代理对象来间接访问,为了保证客户端使用的透明性,委托对象与代理对象需要实现相同的接口 实战 不同API发送通知为例来说明代理模式...

2016-11-17 16:58:10

阅读数:352

评论数:0

Android 设计模式实战笔记 状态模式

定义: 当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类 使用使用场景: 1.一个对象的行为取决于它的状态,并且它的状态必须在运行时根据状态改变它的行为 2.代码中包含大量与对象状态有关的条件语句,例如,一个操作中含有庞大的多分支语句 if -else...

2016-11-16 14:36:21

阅读数:272

评论数:0

Android 设计模式实战笔记 策略模式

定义: 定义了一系列的算法,并将每一个算法封装起来,而且使他们还可以互相替换,策略模式让算法独立使用它的客户而独立变化 使用使用场景: 1.针对同一类型问题的多种处理方式,仅仅是具体行为有差别时 2.需要安全地封装多种同一类型的操作 3.出现同一抽象类有多个子类,而又需要使用if...

2016-11-14 17:23:53

阅读数:244

评论数:0

Android 设计模式实战笔记 工厂方法模式

定义: 定义一个用于创建对象的接口,让子类决定实例化哪个类 使用使用场景: 在任何需要生成复杂对象的地方,都可以使用工厂方法模式,复杂对象适合使用工厂模式,用new就可以完成创建的对象无需使用工厂模式。 实战 式。数据存储为例,Android数据持有化有很多种方式,S...

2016-11-14 15:33:56

阅读数:243

评论数:0

Android 设计模式实战笔记 原型模式

定义: 用原型模式指定创建对象的种类,并通过拷贝这些原型创建新的对象 使用使用场景: 1.类初始化需要消化非常多的资源,如数据,硬件资源,通过原型拷贝避免这些消耗 2.通过new产生一个对象需要非常繁琐的数据准备,这时可以使用原型模式,用原型模式拷贝多个对象供调用者使用,暨...

2016-11-14 15:02:31

阅读数:177

评论数:0

Android 设计模式实战 单例模式

定义: 确保某一个类只有一个实例,并且自行实例化并向整个系统提供这个实例 使用使用场景: 确保某个类有且只有一个对象的场景,避免产生多个对象消耗过多的资源,例如,创建一个对象需要消耗的资源过多,如要访问IO和数据库等资源,这时使用单例模式 实战 DCL doubule ch...

2016-11-14 14:42:14

阅读数:216

评论数:0

Android 设计模式实战 Builder模式

定义: 将一个负责对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示 使用使用场景: 1.相同的方法,不同的执行顺序,产品不同的结果 2.当初始化一个对象特别复杂,如参数多,且很多参数都具有默认值 实战 public final class ImageLoade...

2016-11-14 14:36:00

阅读数:216

评论数:0

使用Git生成patch和应用patch

1、在git源码目录下执行  1.1、两个commit间的修改(包含两个commit) git format-patch .. 如: git format-patch d77aaac74845435744c49ae65511d9e1be79ed5c...046ee8f8423302f5070ca...

2016-11-11 11:12:33

阅读数:499

评论数:0

Android 坑之时间戳转换

毫秒转换成时分秒 格式:HH:mm:ss Java兑现 1、毫秒转换成时分秒 格式:HH:mm:ss Java实现   long ms = 300 * 1000 ;//毫秒数 SimpleDateFormat formatter = new SimpleDateFormat...

2016-11-03 15:17:31

阅读数:1841

评论数:0

UniversalImageLoader 源码解析 -1.enam(枚举)使用

闲来无事,今天又重新打开了UniversalImageLoader源码,以下简称为UIL。 由于前几天做了一个基于SDK开发的项目,也就是给第三开发者用到的一个Library库。所以就打开了UIL源码用到的自己封装的库源码,来看下他们是怎么封装的,要来学习一下。 一、先来po一张图。 ...

2016-11-02 16:31:01

阅读数:209

评论数:0

Android Okhttp 使用HttpDns功能

OkHttp其实暴露了一个Dns接口,默认的实现是使用系统的方法发送udp请求进行dns解析。于是,我们就可以实现一个Dns接口,解析的方式使用httpdns,将解析结果返回,接口实现之后将系统默认的Dns接口替换成我们的Dns接口。 首先,新建HttpDns类,实现Dns接口。内部维持一个系统...

2016-11-02 11:49:32

阅读数:1308

评论数:5

Android httpdns 之 http头部如何对缓存的控制

使用缓存的目的就是在于减少计算,IO,网络等时间,可以快速的返回,特别是流量比较大的时候,可以节约很多服务器带宽和压力。 一个请求从缓存的方面来说,有三个过程。 本地检查缓存是否过期 Expires,http 1.0版本定义的response头部,定义过期时间,如果本地时间发...

2016-11-02 11:35:31

阅读数:533

评论数:0

Android HTTPDES 原理解析

DNS,作用就是将域名解析成IP。一个DNS查询,先从本地缓存查找,如果没有或者已经过期,就从DNS服务器查询,如果客户端没有主动设置DNS服务器,一般是从服务商DNS服务器上查找。这就出现了不可控。 DNS劫持 一些小服务商以及小地方的服务商非常喜欢干这个事情。根据腾讯给出的数据,D...

2016-11-02 11:32:46

阅读数:231

评论数:0

Android开发SDK教程

由于最近作者刚开发完一个SDK项目,所有现在整理一下在此期间碰到的坑,希望别人在做SDK的时候不用再重新踩一遍坑了。好了废话不多说,现在开始 一、前期准备 1.sdk说白了就是把一些方法函数封装起来,然后打成一个Jar包给第三方开发者来调用,以减少第三方开发者工作量和一些重复的...

2016-11-01 11:27:09

阅读数:338

评论数:0

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