慢就是快,快就是慢
MAT内存泄露与内存抖动 MAT内存泄露与内存抖动
1、背景在开发App的过程中我们会经常遇到内存抖动或者内存泄露的问题,我们需要用一些常用的工具去定位这些问题,但是像leakCarray之类的工具无脑的使用,总有一些地方是分析不了的,所以我们还是需要去分析内存泄露的本质,我们需要去了解所谓
2021-03-08
LeakCanary 详解 LeakCanary 详解
背景LeakCanary 是一种方便的内存泄露检查工具,与相对于用dump 内存 然后用MAT工具去分析,要简单便捷很多,我们需要了解如何使用这个工具及其背后的原理 基本使用加入远程引用,强烈建议使用1.6以上的版本,以下的版本有各种各样的
设计模式-Builder模式 设计模式-Builder模式
定义将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示; 二、 举个例子我们通过一个例子来引出Builder模式。假设有一个Person类,我们通过该Person类来构建一大批人,这个Person类里有很多属性,最常见
2021-02-20
设计模式-工厂模式 设计模式-工厂模式
定义工厂模式一个用于创建对象的接口,让子类来决定需要生产什么,可以隐藏生产的细节 UML图 代码案例代码实现方式可以很多,但是我比较喜欢的是客户端可以动态生成的方式,也更加动态 工厂的核心类,根据传入的类型生产确定的产品 public ab
2021-02-10
设计模式-策略模式模式 设计模式-策略模式模式
定义策略模式是一个比较实用的设计模式,在开发的时候经常遇到一种情况就是实现一个功能有多种方式,,我们可以根据不同的情况去选择不同的策略完成这个功能,当前你可以写在一个类中,加入大量的if else去判断,但是这就属于硬编码了,每次改动都会修
2021-02-08
设计模式-责任链模式 设计模式-责任链模式
定义使多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系 二、 责任链模式的使用场景多个对象可以请求同一请求,但具体由哪个对象处理则在运行时候动态决定在请求处理者不明确的情况下向多个对象中的一个提交一个请求需要动态指定一
2021-02-08
设计模式-观察者模式 设计模式-观察者模式
定义定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,所有依赖与他的状态都会被通知到。 使用场景Subject 抽象的主题,也就是被观察者的角色,抽象主题角色把所有观察者对象的引用存在一个集合中,每个主题都可以有任意数量的观察者,抽
2021-02-06
设计模式-备忘录模式 设计模式-备忘录模式
定义在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样,以后可以将对象恢复到原先保存的状态。 使用场景需要保存一个对象在某个时刻的某种状态或部分状态。如果用一个接口来让其他对象得到这些状态,将会暴露对象的实现细节
2021-02-04
设计模式-模板方法模式 设计模式-模板方法模式
定义定义一个操作中的算法框架,而将一些步骤延迟到子类中吗,让子类可以不改变算法的结构的既可以重定义该算法的特定步骤 使用场景1.一个子类有共有的方法,并且逻辑基本相同2.重要,复杂的算法可以把核心算法设计为一个模板方法,周边的相关细节功能由
2021-02-03
设计模式-代理模式模式 设计模式-代理模式模式
定义为其他对象提供一种代理以控制对这个对象的访问。在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使
2021-02-01
2 / 3