自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 后浪 来学习吧!设计模式【10】装饰模式

设计模式【10】装饰模式定义动态地给一个对象添加一些额外的职责。就扩展功能而言, 它比生成子类方式更为灵活。主要解决什么一般的,我们为了扩展一个类经常使用继承方式实现,由于继承为类引入静态特征,并且随着扩展功能的增多,子类会很膨胀。结构抽象构件(Component)角色:定义一个抽象接口以规范准备接收附加责任的对象。具体构件(Concrete Component)角色:实现抽象构件,通过装饰角色为其添加一些职责。抽象装饰(Decorator)角色:继承抽象构件,并包含具体构件的实例,可以

2020-07-09 16:24:41 171 1

原创 后浪 来学习吧!设计模式【09】代理模式

设计模式【09】代理模式定义为其他对象提供一个代理以控制对这个对象的访问。主要解决什么在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访问此对象时加上一个对此对象的访问层。结构抽象主题(Subject)类:通过接口或抽象类声明真实主题和代理对象实现的业务方法。真实主题(Real Subject)类:实现了抽象主题

2020-07-06 16:33:40 123

原创 后浪 来学习吧!设计模式【08】享元模式

设计模式【08】享元模式定义运用共享技术有效地支持大量细粒度的对象。主要解决什么在有大量对象时,有可能会造成内存溢出,我们把其中共同的部分抽象出来,如果有相同的业务请求,直接返回在内存中已有的对象,避免重新创建。结构抽象享元角色(Flyweight):是所有的具体享元类的基类,为具体享元规范需要实现的公共接口,非享元的外部状态以参数的形式通过方法传入。具体享元(Concrete Flyweight)角色:实现抽象享元角色中所规定的接口。非享元(Unsharable Flyweight)角色

2020-06-30 19:00:40 116

原创 后浪 来学习吧!设计模式【06】适配器模式

设计模式【06】适配器模式定义将一个类的接口转换成客户希望的另外一个接口。主要解决什么主要解决在软件系统中,常常要将一些"现存的对象"放到新的环境中,而新环境要求的接口是现对象不能满足的。结构目标(Target)接口:当前系统业务所期待的接口,它可以是抽象类或接口。适配者(Adaptee)类:它是被访问和适配的现存组件库中的组件接口。适配器(Adapter)类:它是一个转换器,通过继承或引用适配者的对象,把适配者接口转换成目标接口,让客户按目标接口的格式访问适配者。类适配器模式的结构图

2020-06-29 11:15:45 125

原创 后浪 来学习吧!设计模式【07】桥接模式

设计模式【07】桥接模式定义将抽象部分与它的实现部分分离,使它们都可以独立地变化。主要解决什么在有多种可能会变化的情况下,用继承会造成类爆炸问题,扩展起来不灵活。结构抽象化(Abstraction)角色:定义抽象类,并包含一个对实现化对象的引用。扩展抽象化(Refined Abstraction)角色:是抽象化角色的子类,实现父类中的业务方法,并通过组合关系调用实现化角色中的业务方法。实现化(Implementor)角色:定义实现化角色的接口,供扩展抽象化角色调用。具体实现化(Conc

2020-06-29 11:07:36 104

原创 后浪 来学习吧!设计模式【05】抽象工厂模式

设计模式【05】抽象工厂模式定义提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。主要解决什么主要解决接口选择的问题。结构抽象工厂(Abstract Factory):提供了创建产品的接口,它包含多个创建产品的方法 newProduct(),可以创建多个不同等级的产品。具体工厂(Concrete Factory):主要是实现抽象工厂中的多个抽象方法,完成具体产品的创建。抽象产品(Product):定义了产品的规范,描述了产品的主要特性和功能,抽象工厂模式有多个抽象产品。

2020-06-28 08:40:23 124

原创 后浪 来学习吧!设计模式【04】工厂模式

设计模式【04】工厂模式定义定义一个用于创建对象的接口,让子类决定将哪一个类实例化。主要解决什么主要解决接口选择的问题。结构抽象工厂(Abstract Factory):提供了创建产品的接口,调用者通过它访问具体工厂的工厂方法 newProduct() 来创建产品。具体工厂(ConcreteFactory):主要是实现抽象工厂中的抽象方法,完成具体产品的创建。抽象产品(Product):定义了产品的规范,描述了产品的主要特性和功能。具体产品(ConcreteProduct):实现了抽象产

2020-06-25 09:35:58 118

原创 后浪 来学习吧!设计模式【03】建造者模式

定义将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。主要解决什么主要解决在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法却相对稳定。比如,去肯德基,汉堡、可乐、薯条、炸鸡翅等是不变的,而其组合是经常变化的,生成出所谓的"套餐"。何时使用一些基本部件不会变,而其组合经常变化的时候。结构建造者(Builder)模式由产品、抽象建造者、具体建造

2020-06-25 09:31:17 97

原创 后浪 来学习吧!设计模式【02】原型模式

定义用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。主要解决什么在运行期建立和删除原型。何时使用当一个系统应该独立于它的产品创建,构成和表示时。当要实例化的类是在运行时刻指定时,例如,通过动态装载。为了避免创建一个与产品类层次平行的工厂类层次时。当一个类的实例只能有几个不同状态组合中的一种时。建立相应数目的原型并克隆它们可能比每次用合适的状态手工实例化该类更方便一些。如何解决利用已有的一个原型对象,快速地生成和原型对象一样的实例。关键代码实现克隆操作,在 JAV

2020-06-25 09:29:05 214

原创 后浪 来学习吧!设计模式【1】单例模式

定义保证一个类仅有一个实例,并提供一个访问它的全局访问点。主要解决什么一个全局使用的类频繁地创建与销毁。何时使用当您想控制实例数目,节省系统资源的时候。如何解决判断系统是否已经有这个单例,如果有则返回,如果没有则创建。关键代码构造函数是私有的。单例的写法——七种饿汉式、懒汉式(线程不安全)、懒汉式(线程安全)、双重校验锁、登记式/静态内部类、枚举、使用容器实现。饿汉式类加载时就初始化。非懒加载;是多线程安全。优点:没有加锁,执行效率会提高。缺点:类加载时就初始化,浪费内存。p

2020-06-25 09:23:15 132

原创 后浪 来学习吧!设计模式【00】总论

设计模式【00】总论什么是设计模式在 1994 年,由 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 四人合著出版了一本名为 Design Patterns - Elements of Reusable Object-Oriented Software(中文译名:设计模式 - 可复用的面向对象软件元素) 的书,该书首次提到了软件开发中设计模式的概念。四位作者合称 GOF(四人帮,Gang of Four)。他们所提出的设计模式主要是基于以

2020-06-25 08:57:53 150

原创 Android之onTouch返回ture和false的区别

onTouch默认返回false单独使用setOnTouchListener,无setOnclickListenerreturn false:只会执行down方法,不会执行move和upreturn true:三个都会执行setOnTouchListener和setOnclickListener一起使用不建议一起使用,可以将点击事件放在up中.return false:会执行on...

2019-12-10 17:00:12 1105

转载 Android 开发遇到的问题之No USB devices or running emulators detected

Android 开发遇到的问题之No USB devices or running emulators detected查阅里网上很多资料,主要是ADB Interface安装失败。下面连接参考价值很大。https://www.jianshu.com/p/a83a6e3f0966...

2019-07-08 11:01:58 948

转载 ANR产生的原因、如何避免、问题定位

ANR在Android中,应用程序的响应是由ActivityManager和WindowManager系统服务监视的。当它监测到A、B、C情况中的一个时,Android就会针对特定的应用程序显示ANR:A. KeyDispatchTimeout在5秒内没有响应输入的事件(例如,按键按下,屏幕触摸)--主要类型B. BroadcastTimeout.BroadcastReceiver...

2019-06-21 09:52:29 206

转载 Android 四大组件,五大存储,六大布局

转自:https://blog.csdn.net/xianKOG/article/details/81702119Activity生命周期:

2019-06-19 21:58:10 225

转载 Android FrameWork框架和它在android的四层架构起到的作用

1.应用程序层这一层一般我们最为熟悉了,我们平常开发安卓用java编写的app都属于这一层,当然系统自带的程序比如时钟啊,email等都是属于这一层2.应用程序框架层(Framework)这一层是核心应用程序所使用的API框架,为应用层提供各种接口API,包括各种组件和服务来支持我们的安卓开发,包括ActivityManager,WindowManager,ViewSystem等我们讲到A...

2019-06-19 21:45:57 706

转载 Activity四种启动模式区别

默认启动模式standard不会检测ACTIVITY 是否重复。 在该模式下,启动的Activity会依照启动顺序被依次压入Task中。栈顶复用模式singleTop在该模式下,如果栈顶Activity为我们要新建的Activity(目标Activity),那么就不会重复创建新的Activity。栈内复用模式singleTask与singleTop模式相似,只不过singleTop模式...

2019-06-19 21:37:00 1079

转载 广播动态注册和静态注册的区别

动态注册和静态注册的区别:动态注册的广播接收器可以自由的控制注册和取消,有很大的灵活性。但是只能在程序启动之后才能收到广播,此外,不知道你注意到了没,广播接收器的注销是在onDestroy()方法中的。所以广播接收器的生命周期是和当前活动的生命周期一样。静态注册的广播不受程序是否启动的约束,当应用程序关闭之后,还是可以接收到广播。标准广播和有序广播的接收和发送都是全局性的,这样会...

2019-06-19 21:25:56 2842

转载 Android 屏幕适配

转自:https://www.jianshu.com/p/ec5a1a30694b

2019-06-19 21:22:05 89

转载 内存泄漏和内存溢出的区别与解决方式

内存泄漏(memory leak ) 内存溢出 (out of memory)内存泄露 :是指程序在申请内存后,无法释放已申请的内存空间就造成了内存泄漏,一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出。我们知道了内存泄漏的原因而内存溢出则有可能是因为我们我们多次内存泄漏堆积后的后果则变成了内存溢出内存溢出: 指程序申请内存时,没有足够的内存供申请者使用,或者说,给了你一块...

2019-06-19 15:04:05 113

转载 Android23种设计模式

设计模式分为三种类型:创建型模式:(5种)单例模式,抽象工厂模式,工厂模式,原型模式,建造者模式。(口诀:单原建造者,东西二厂)结构型模式:(7种)适配器模式,桥接模式,装饰模式,组合模式,外观模式,享元模式,代理模式。(口诀:一器一桥一元一代理;装饰组合外观)行为型模式:(11种)观察者模式,中介者模式,访问者模式,解释器模式,迭代器模式,备忘录模式,责任链模式,状态模式,策略...

2019-06-19 14:22:23 161

原创 Android Studio快捷键——Windows系统篇

Android Studio快捷键——Windows系统篇工欲善其事,必先利其器!希望这篇整理排序的AS快捷键资料,能帮助到大家。下表快捷键按键盘布局排序,且组合键由少到多。快捷键作用Ctrl + Z撤销上次的编辑Ctrl + Shift + Z重做上次的编辑Ctrl + X剪切Ctrl + C复制Ctrl + V粘贴Ctrl +...

2019-06-12 11:45:41 2174

空空如也

空空如也

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

TA关注的人

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