自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (6)
  • 收藏
  • 关注

原创 使用Eclipse Memory Analyzer Tool查找内存泄露

手机需要有root权限。 1.eclipse中选中要查看的应用包名,点击下图中图标

2016-03-31 16:06:51 1565 4

原创 Android下常见的内存泄露 经典

因为Android使用Java作为开发语言,很多人在使用时会不注意内存的问题,于是有时遇到程序运行时不断消耗内存,最终导致OutOfMemory,程序异常退出,这就是内存泄露导致的。 我们来总结一下导致内存泄露的情况: 1.查询数据库而没有关闭Cursor 在Android中,cursor是很常用的一个对象,但在写代码时,经常会有人忘记调用close,或者因为代码逻辑问题导致close未被调

2016-03-28 16:40:02 428

原创 远程服务例子

远程服务场景:应用需要调用其他应用服务中的方法,或调用底层服务中的方法。 aidl: package com.example.aidl2; interface IAidlBinder { boolean isUidExist(int uid); } 远程服务: public class AidlService extends Service { @Override

2016-03-18 15:57:26 494 1

原创 应用内绑定服务例子

绑定服务场景:应用内其他地方需要调用服务中的方法。 例子1,Binder中的所有方法都可以被调用: public class BindService extends Service { @Override public IBinder onBind(Intent intent) { return new ServiceBinder(); }

2016-03-18 10:35:52 444

原创 设计模式总结

设计模式大致分为三类:创建型模式、结构型模式、行为型模式 创建型模式: 1.抽象工厂模式:提供一个创建一系列或相关依赖对象的接口,而无需指定它们具体的类。 2.建造者模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 3.工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂模式使一个类的实例化延迟到其子类。 4.原型模式:用原型实例指定创

2016-03-14 16:36:05 331

原创 设计模式之访问者模式

访问者模式(Visitor),表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。 访问者模式适用于数据结构相对稳定的系统。 它把数据结构和作用于结构上的操作之间的耦合解脱开,使得操作集合可以相对自由地演化。 访问者模式的目的是要把处理从数据结构分离出来。 有比较稳定的数据结构,又有易于变化的算法的话,使用访问者模式就是比较合适

2016-03-14 14:41:08 370

原创 设计模式之解释器模式

解释器模式(interpreter),给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 如果一种特定类型的问题发生的概率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子。这样就可以构建一个解释器,该解释器通过解释这些句子来解决该问题。 AbstractExpression(抽象表达式),声明一个抽象的解释操作,这个接口为

2016-03-11 13:51:28 298

原创 设计模式之享元模式

享元模式(Flyweight),运用共享技术有效地支持大量细粒度的对象。 也就是说,在一个系统中如果有多个相同的对象,那么只共享一份就可以了,不必每个都去实例化一个对象。 比如说一个文本系统,每个字母定一个对象,那么大小写字母一共就是52个,那么就要定义52个对象。如果有一个1M的文本,那么字母是何其的多,如果每个字母都定义一个对象那么内存早就爆了。那么如果要是每个字母都共享一个对象,那么久大

2016-03-10 19:31:08 484

原创 设计模式之中介者模式

尽管将一个系统分割成许多对象通常可以增加其可复用性,但是对象相互连接的激增又会降低其可复用性了。 大量的连接使得一个对象不可能在没有其他对象的支持下工作,系统表现为一个不可分割的整体,所以,对系统的行为进行任何较大的改动就十分困难了。 中介者模式(Mediator),用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。

2016-03-09 16:25:22 560

原创 设计模式之职责链模式

职责链模式(Chain of Responsibility):使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 Handler类,定义一个处理请求的接口。 public abstract class Handler { protected Handler mSuccessor;

2016-03-09 10:35:52 389

原创 设计模式之命令模式

命令模式(Command),将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。 Command类,用来声明执行操作的接口。 public abstract class Command { protected Receiver mReceiver; public Command(Receiver rece

2016-03-08 16:26:34 308

原创 设计模式之桥接模式

对象的继承关系是在编译时就定义好了,所以无法在运行时改变从父类继承的实现。 子类的实现与它的父类有非常紧密的依赖关系,以至于父类实现中的任何变化必然会导致子类发生变化。 当你需要复用子类时,如果继承下来的实现不适合解决新的问题,则父类必现重写或被其他更适合的类替换。这种依赖关系限制了灵活性并最终限制了复用性。 合成/聚合复用原则(CARP),尽量使用合成/聚合,尽量不要使用类继承。 聚合表

2016-03-08 14:37:03 362

原创 设计模式之单例模式

所有类都有构造方法,不编码则系统默认生成空的构造方法,若有显示定义的构造方法,默认的构造方法就会失效。 单例模式(Singleton),保证一个类仅有一个实例,并提供一个访问它的全局访问点。 通常我们可以让一个全局变量使得一个对象被访问,但它不能防止实例化多个对象。一个最好的办法就是,让类自身负责保存它的唯一实例。这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法。

2016-03-07 19:52:03 345

原创 设计模式之迭代器模式

迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。 当你需要访问一个聚集对象,而且不管这些对象是什么都需要遍历的时候,你就应该考虑用迭代器模式。 需要对聚集有多种方式遍历时,可以考虑用迭代器模式。 为遍历不同的聚集结构提供如开始、下一个、是否结束、当前哪一项等统一的接口。 Iterator迭代器抽象类: public abst

2016-03-07 18:41:19 327

原创 设计模式之组合模式

组合模式(Composite),将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 Component为组合中的对象声明接口,在适当情况下,实现所有类共有接口的默认行为。声明一个接口用于访问和管理Component的子部件。 通常都用add和remove方法来提供增加或移除树叶或树枝的功能。 public abstract cl

2016-03-07 15:11:30 411

原创 设计模式之备忘录模式

备忘录模式(Memento),在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。 Originator(发起人):负责创建一个备忘录Memento,用以记录当前时刻它的内部状态,并可使用备忘录恢复内部状态。Originator可根据需要决定Memento存储Originator的哪些内部状态。 public class

2016-03-04 15:43:35 310

原创 设计模式之适配器模式

适配器模式(Adapter),将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 系统的数据和行为都正确,但接口不符时,我们应该考虑用适配器,目的是使控制范围之外的一个原有对象与某个接口匹配。适配器模式主要应用于希望复用一些现存的类,但是接口又与复用环境要求不一致的情况。 Target,客户所期待的接口,可以

2016-03-03 19:06:41 274

原创 设计模式之状态模式

面向对象设计其实就是希望做到代码的责任分解。 状态模式(State),当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了它的类一样。 状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化。 State类,抽象状态类,定义一个接口以封装与Context的一个特定状态相关的行为。

2016-03-03 14:50:57 375

原创 设计模式之观察者模式

观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自己更新自己。

2016-03-02 15:36:11 431 1

自启动监视器

查看所有应用的自启动行为,可以选择性的针对修改自启动问题,自启动开发利器

2018-04-24

性能监视器(apk文件)

监视CPU使用率、IO使用率等的监视器,性能相关开发的利器

2018-04-24

DllInject.exe进程注入工具

进程注入工具

2016-12-29

加载图片例子

加载图片例子

2016-06-14

大量图片快速加载工具类例子

大量图片快速加载工具类例子

2016-06-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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