自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(150)
  • 资源 (59)
  • 收藏
  • 关注

原创 Android性能优化

本章重点:Android设备作为一种移动设备,不管是内存还是CPU的性能都受到了一定的限制,也意味着Android程序不可能无限制的使用内存和CPU资源,过多的使用内存容易导致OOM,过多的使用CPU资源容易导致手机变得卡顿甚至无响应(ANR)。这也对开发人员提出了更高的要求。本章主要介绍一些有效的性能优化方法。主要包括布局优化、绘制优化、内存泄漏优化、响应速度优化、ListView优化、B...

2019-02-26 17:55:32 267

原创 Bitmap的加载和Cache

本章总结:主要介绍:如何高效地加载一个BitmapAndroid中常用的缓存策略i. LruCache——内存缓存ii. DiskLruCache——磁盘缓存如何优化列表的卡顿12.1 Bitmap的高效加载BitmapFactory类提供四种方法: decodeFile 、 decodeResource 、 decodeStream 和 decodeByteAr...

2019-02-21 18:46:52 273

原创 Android的线程和线程池

本章总结:Android的线程和线程池在Android系统,线程主要分为主线程和子线程,主线程处理和界面相关的事情,而子线程一般用于执行耗时操作。在Android中,线程的形态有很多种:i. AsyncTask封装了线程池和Handler。ii. HandlerThread是具有消息循环的线程,内部可以使用handleriii.IntentService是一种Service,内部采...

2019-02-20 17:03:37 602

原创 Android的消息机制

Android的消息机制从开发的角度来说,Handler是Android消息机制的上层接口。Handler的运行需要底层的 MessageQueue 和 Looper 的支撑。MessageQueue是一个消息队列,内部存储了一组消息,以队列的形式对外提供插入和删除的工作,内部采用单链表的数据结构来存储消息列表。Lopper会以无限循环的形式去查找是否有新消息,如果有就处理消息,...

2019-02-19 16:31:27 166

原创 理解Window和WindowManager

本章重点:indow是一个抽象类,具体实现是 PhoneWindow 。不管是 Activity 、 Dialog 、 Toast 它们的视图都是附加在Window上的,因此Window实际上是View的直接管理者。WindowManager是外界访问Window的入口,通过WindowManager可以创建Window,而Window的具体实现位于WindowManagerSer...

2018-12-19 16:00:22 281

原创 Android动画深入分析

本章重点:Android动画分为三种:View动画帧动画属性动画1 View动画 View动画的作用对象是View,支持四种动画效果:平移缩放旋转透明1.1 View动画的种类 上述四种变换效果对应着Animation四个子类: TranslateAnimation 、 ScaleAnimation 、 RotateAnimation 和 AlphaAnimat...

2018-12-14 18:20:51 205

原创 View的工作原理(二)

本章重点:1 .View的工作流程1.1 measure过程分两种情况:1. View通过 measure 方法就完成了测量过程2. ViewGroup除了完成自己的测量过程还会便利调用所有子View的 measure 方法,而且各个子View还会递归执行这个过程。View的measure过程 直接继承View的自定义控件需要重写 onMeasure 方法并设置 wrap_...

2018-12-07 16:57:18 183

原创 View的工作原理(一)

本章主要内容1. 初识ViewRoot和DecorViewViewRoot的实现是 ViewRootImpl 类,是连接WindowManager和DecorView的纽带,View的三大流(mearsure、layout、draw)均是通过ViewRoot来完成。当Activity对象被创建完毕后,会将DecorView添加到Window中,同时创建 ViewRootImpl 对象,...

2018-11-21 15:13:50 122

原创 View的事件体系(二)

本章重点1.View的事件分发机制1.1 点击事件的传递规则 首先我们先看看下面一段伪代码,通过它我们可以理解到点击事件的传递规则:public boolean dispatchTouchEvent (MotionEvent ev){boolean consume = false;if (onInterceptTouchEvnet(ev){consume = onTouchEven...

2018-11-20 18:16:25 149

原创 View的事件体系(一)

view的基础知识

2018-11-19 15:33:38 204

原创 Android中的IPC方式-Binder连接池以及选择合适的IPC方式

本节重点 Binder连接池 AIDL是一种最常用的IPC方式,是日常开发中涉及IPC时的首选。前面提到AIDL的流程是 客户端在Service的onBind方法中拿到继承AIDL的Stub对象,然后客户端就可以通过这个Stub对象进行RPC。 那么如果项目庞大,有多个业务模块都需要使用AIDL进行IPC,随着AIDL数量的增加,我们不能无限制地增加Service,我们需要...

2018-09-17 16:58:08 281

原创 Android中的IPC方式 - ContentProvider与Socket

使用ContentProvider 1. ContentProvider是四大组件之其底层实现和Messenger一样是BinderContentProvider天生就是用来进程间通信,只需要实现一个自定义或者系统预设置的ContentProvider,通过ContentResolver的query、update、insert和delete方法即可。 2. 创建ContentPr...

2018-09-14 16:11:41 337

原创 Android中的IPC方式 - AIDL(二)

本章重点总结: 使用AIDL 如果有大量的并发请求,使用Messenger就不太适合,同时如果需要跨进程调用服务端的方法,Messenger就无法做到了。这时我们可以使用AIDL。 流程如下: 1. 服务端需要创建Service来监听客户端请求,然后创建一个AIDL文件,将暴露给客户端的接口在AIDL文件中声明,最后在Service中实现这个AIDL接口即可。 ...

2018-09-06 16:47:25 469

原创 Android中的IPC方式(一)-Messenger

本章重点 IPC主要有以下方式: 1. Intent中附加extras来传递消息 2. 共享文件 3. Binder方式 4. 四大组件之一的ContentProvider 5. Sock 1 使用Bundle 四大组件中的三大组件(Activity、Service、Receiver)都支持在Intent中传递 Bundle 数据。 ...

2018-09-05 16:09:52 324

原创 IPC基础概念介绍

"*"本章内总总结笔记:主要介绍 Serializable 、 Parcelable 、 Binder 。**Serializable接口**1. Serializable 是Java提供的一个序列化接口(空接口),为对象提供标准的序列化和反序列化操作。2. 只需要一个类去实现 Serializable 接口并声明一个 serialVersionUID 即可实现序列化。3. 如果不手动指定 serialVersionUID 的值

2018-08-06 14:51:13 1298

原创 设计模式-享元模式

内存溢出对java应用来说实在是太平常了,有以下两种可能。内存泄露 无意识的代码缺陷,导致内存泄露,JVM不能获得连续的内存空间对象太多 代码写的很烂,产生的对象太多,内存被耗完 业务需求,一个考试系统,登陆后需要填写一下信息:考试科目,选择框考试地点,选择框,根据科目不同,列表不同准考证邮寄地址,输入框 很简单的工厂方法模式,表现层通过工厂方法模式创建对象,然后传递给业...

2018-07-08 22:32:30 193

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

备忘录模式实例:《预见未来》中男主角可以预见未来,遇到女主角可以反复尝试打动女主角。 原始状态的保留和恢复这块,如何保留一个原始状态,如何恢复一个原始状态才是最重要的,那想想看,我们应该怎么去实现呢?很简单,我们定义一个中间变量,保留这个原始状态。我们先看看类图: 太简单的类图了,state表示所有的状态,changeState方法表示状态变化package com.nextvpu...

2018-06-28 21:40:00 146

原创 设计模式-中介者模式(Mediator Pattern)

中介者模式以实体超市(苏宁、国美等)正常运行的采购业务,销售业务,库存业务之间的配合为例子 先看类图: Purchase负责采购管理,buyIBMComouter是指定了采购IBM电脑,refuseBuyIBM是不再采购IBM了,程序如下:package com.example.xpeng.myapplication;import android.util.Log;/**...

2018-06-24 15:44:59 561

原创 设计模式-原型模式(Prototype Pattern)

我们今天来讲原型模式。我们先通过一个例子来解释一下什么是原型模式。 现在电子账单越来越流行,比如你的信用卡,到月初的时候银行就会发一份电子邮件到你的邮箱中,这个月消费多少,积分多少等等,每个月发一次,但是还有一种也是银行发的邮件你肯定有印象:广告信。电子账单系统一般包括:账单分析、账单生成器、广告信管理、发送队列管理、发送机、退信处理、报表管理等的一个子功能。我们今天来考虑游戏i啊广告信这个模块...

2018-06-24 02:10:46 959

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

今天来讲访问者模式,现在有这么一个需求,我要把公司中的所有人员信息都打印汇报上去,我们来看类图: 这个类图还是比较简单的,使用了一个模版方法模式,要把所有的信息都打印出来,我们先来看一下抽象类:package com.example.xpeng.myapplication;import android.util.Log;/** * Created by xpeng on 2...

2018-06-18 23:56:32 165

原创 设计模式-责任链模式

责任链模式例子:中国古代女子有“三从四德”的道德规范,就是说一个女性,在没有结婚的时候听父亲的,结婚了之后听丈夫的,丈夫死了听儿子的。要是想出去逛街了,需要请示。作为父亲、丈夫、儿子只有两种选择:要不承担起责任来告诉她允许或不允许逛街,要不就让她请示下一个人。我们来看怎么把“三从”通过我们的程序来实现,需求很简单:通过程序描述一下古代妇女的“三从制度”,好,我们老看类图: 非常简单的类图,这...

2018-06-16 21:46:34 229

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

观察者模式例子:秦王嬴政让李斯监控韩非子 看看李斯怎么监控韩非子,先看类图: 我们来看程序的实现,先看我们的主角韩非子的接口(类似于韩非子这样的人,被观察者角色)package com.nextvpu.myapplication;/** * Created by NEXTVPU on 2018/6/10. * 类似韩非子这样的人,被监控起来了还不知道 */public...

2018-06-16 18:10:14 230

原创 设计模式-组合模式

上大学的时候大家都学过“数据结构”这门课程吧,还记得其中有一节叫“二叉树”吧,考试的时候一定有二叉树的构建和遍历,树状结果在实际项目应用的非常广泛。 咱先说这个最常见的例子,公司的人事管理就是一个典型的树状结构,你想想你公司的结构是不是这样: 从最高的老大,往下一层一层的管理,最后到我们这层小兵,很典型的树状结构(这不是二叉树),我们今天的任务就是把这个树状结构实现出来,并且把它遍历一边,...

2018-06-10 17:59:00 186

原创 设计模式-迭代期模式

现在有个需求,老大让我把项目信息重新打印一份,分析总结一下所有项目存在的问题和解决办法。 很快我设计了一个类图: 类图非常简单,是个程序员都能实现,我们来看看简单的东西:package com.nextvpu.myapplication;/** * Created by NEXTVPU on 2018/6/4. * 定义一个接口,所有的项目都是一个接口 */publi...

2018-06-04 21:10:15 338

原创 设计模式-装饰模式

装饰模式在中国的使用那实在是多,说话办事都不能太直接,都需要装饰一下。以小时候成绩单需要签名来举例: 先看这个成绩单的类图: 成绩单的抽象类,然后有一个四年级的成绩单实现类,先看抽象类:package com.example.xpeng.myapplication;/** * Created by xpeng on 2018/6/2. * 成绩单的抽象类 */publ...

2018-06-02 23:46:43 162

原创 设计模式-命令模式

命令模式,这个模式从名字上看就很简单,命令嘛,老大发布命令,小兵执行就行咯。 以项目组为例子来讲命令模式 项目组的成员分工也是采用了常规的分工方式,分为需求组、美工组、代码组。现在有客户要我们做一个项目,客户和需求组讨论需求,和美工组讨论页面,和代码组讨论实现,告诉他们修改这里,删除这里,增加这些等等。 我们把这个模式用类图表示一下: 这个类图很简单,客户和三个组都有交流,这也合情合理...

2018-06-02 18:19:53 257

原创 设计模式-桥梁模式

今天我要说说我自己,梦想中的我自己,身家过亿,有两个大公司,一个房地产一个服装制造业,两个公司都很赚钱,天天帮我累加财富。我先用类图表示一下我这两个公司: 类图很简单,声明了一个Corp抽象类,定义一个公司的抽象模型,公司首先是要赚钱的,不赚钱谁开公司,先看Corp类的代码:package com.example.xpeng.myapplication;/** * Create...

2018-06-02 15:53:14 580

原创 设计模式-建造者模式

现在有一个大合同,把奔驰、宝马的车辆模型都制作,有额外添加一个需求:汽车的启动、停止、喇叭声音、引擎声音都有客户自己的控制,他想什么顺序就什么顺序。 首先我们得思考了,奔驰宝马都是一个产品,他们有共有的属性。由我生产N多个奔驰和宝马车辆模型,这些车辆模型都有run方法,但具体到每一个模型的run方法可能中间的执行任务的顺序是不同的,客户需要啥顺序,我就给啥顺序,最终用户买走的只能是既定的模型。我...

2018-05-31 07:55:52 177

原创 设计模式-模版模式

模型模式例子:悍马车模型 不考虑使用设计模式,扩展性等都不考虑 类图: 非常简单的实现,你要悍马模型,我给你悍马模型,先写个抽象类,然后两个不同型号的模型实现类,那我们把这个程序实现出来: HummerModel抽象类的程序如下:package com.example.xpeng.myapplication;import android.util.Log;/** * ...

2018-05-30 00:22:48 3844

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

适配器模式:笔记本上的适配器把不同的电压转换成你需要的,比如一个日本的是110V,一个中国的220V。设计模式中的适配器模式一样的作用两个不同的接口,有不同的实现,有一天必须把B接口转换成A接口,怎么办呢?就会用到适配器模式了。 适配器的通用类图如下: 有一个项目分为三大模块:人员信息管理的对象是所有员工的所有信息,然后设计如下类图: 现在需要加入一个借用人员管理,分三部分:基本信息...

2018-05-28 19:28:59 208

原创 设计模式-门面模式

门面模式的例子:写信。写信的过程,先写信的内容,然后写信封,再然后把信放到信封中,封好送邮局。 这个过程还是比较简单的,但是虽然简单,万一你要给十个百个千个人写呢,麻烦咯。还好,现在邮局开发了一个新的业务,你只要把信件的必要信息告诉我,我给你发,我来做这四个过程,你就不要管了,只要把信给我就行了。 我们的类图还是从最原始的状态开始: 先看写信的过程接口,定义了写信的四个步骤:pa...

2018-05-26 23:24:50 111

原创 设计模式-状态模式

状态模式以电梯为例子 电梯有哪些动作(映射到Java中就有多少方法):开门、关门、运行、停止,就这四个动作,用程序来实现一下电梯的动作,先看类图设计: 非常简单的类图,定义一个接口,然后是一个实现类,然后业务类Client就可以调用,并运行起来,先看接口:package com.example.xpeng.statemode;/** * Created by xpeng on...

2018-05-20 16:54:45 493

原创 设计模式-抽象工厂模式

上一次女娲造人忘记给人类定义性别了。 现在需要把八卦炉拆开,一个生产男性的八卦炉,一个是生产女性的八卦炉 /** * Created by xpeng on 2018/5/1. * 定义一个人类的统称 */public interface Human { //首先定义什么是人类 //人是会笑的 public void laugh(); //人类...

2018-05-05 23:18:36 174

原创 设计模式-工厂方法模式

例子:女娲造人 类图: 这个过程我们就用程序来实现,首先定义一个人类的总称:/** * Created by xpeng on 2018/5/1. * 定义一个人类的统称 */public interface Human { //首先定义什么是人类 //人是会笑的 public void laugh(); //人类还会哭 publi...

2018-05-03 00:05:09 128

原创 设计模式-多例模式

多例模式:有上限的多例模式(没上限的多例模式太容易了,和你直接new一个对象没啥区别,不讨论) /** * Created by xpeng on 2018/5/1. * 有时候当皇帝的是儿子其实还有一个太上皇啊 * 有上限的多例模式(没上限的多利模式太容易了,跟new个对象没啥区别) */public class Emperor { private static ...

2018-05-01 15:35:47 238

原创 设计模式-单例模式

单例模式就是单一、独苗的意思。 举例:皇帝 /** * Created by xpeng on 2018/5/1. * 中国历史上一般只会有一个皇帝 */public class Emperor { private static Emperor emperor = null;//定义一个皇帝放在那里,然后给皇帝这个名字 private Emperor(){ ...

2018-05-01 14:51:29 130

原创 设计模式-代理模式

代理模式:我很忙,没空理你,你要找我的代理人。代理人总要知道代理人哪些事情能做哪些事情不能做,那就是两个人具备同一个接口,代理人不能干活,被代理人能干活啊。 例子:西门庆找潘金莲,潘金莲“害羞”啊,咋办,那找代理人啊,嗯,王婆就很合适嘛。/** * Created by xpeng on 2018/4/30. * 定义一种类型的女人,王婆和潘金莲都属于这个类型的女人 */pub...

2018-04-30 14:37:01 111

原创 设计模式-策略模式

策略模式的例子:刘皇叔取老婆,军师三个锦囊,顺利娶回老婆 场景三要素:三个妙计、一个锦囊,一个赵云 赵云是一个干活的人,从锦囊取出妙计,执行 用JAVA程序表示,类图: 三个妙计是同一个类型的东西,那咱先写个接口:/** * Created by xpeng on 2018/4/30. * 首先定一个策略接口,这是诸葛亮老人家给赵云的三个锦囊妙计的接口 */public ...

2018-04-30 13:56:03 133

原创 Android进阶-动画机制和使用

**1. Android View 动画框架** Animation框架定义了透明度、旋转、缩放和位移几种常用的动画,而且控制的是整个View,实现原理是每次绘制视图时View所在的ViewGroup中的drawChild函数获取该View的Animaion的Transformation值,然后调用canvas.concat(transformToApply.getMatrix())...

2018-04-14 16:30:59 691

原创 android进阶-surfaceView的分析和使用

**1.surfaceView与View的区别** View通过刷新来重绘视图,Android系统通过发出VSYNC信号来进行屏幕的重绘,刷新时间间隔为16ms。如果16ms内View完成了需要执行的所有操作,不会在视觉上出现卡顿的感觉,反之,则会出现。 surfaceView的出现就是解决这个问题。 surefaceView和Viewde 区别: (1)View主要适用于主动更新的情况下,

2017-11-26 17:44:38 481

设计模式之享元模式

享元模式,根据《设计模式之禅》,自己写的实例,可以参考一下

2018-07-08

设计模式之中介者模式

中介者模式,详细介绍其原理和使用方法,很好的实例,值得学习。

2018-06-24

设计模式之原型模式

原型模式学习,包括其原理和使用方式,值得学习。值得好好参考。

2018-06-24

设计模式之访问者模式

访问者模式,你绝对会用到的模式,值得学习,通俗易懂的实例,原理和运用都说明白了。

2018-06-18

设计模式之责任链模式

这个资源就是让你掌握责任链模式的原理和运用,你值得拥有,好好学习,天天向上。

2018-06-16

设计模式之观察者模式

设计模式之观察者模式,通过这个实例你就掌握观察者模式的原理和用法,值得学习。

2018-06-16

设计模式之组合模式

组合模式的例子代码,你值得拥有,好好学习,天天向上咯。

2018-06-10

设计模式之迭代器模式

设计模式之迭代器模式,简单直接粗暴,值得学习,好好收藏。

2018-06-04

设计模式之装饰模式

设计模式之装饰模式实例,你值得拥有,好好学习,天天向上

2018-06-02

设计模式之命令模式

设计模式之命令模式,你值得拥有,帮你快速掌握命令模式的实例。

2018-06-02

设计模式之桥梁模式

桥梁模式你值得拥有,简单实用易上手,不能错过的实例。

2018-06-02

设计模式之建造者模式

设计模式之建造者模式,这个实例能让你尽快理解和掌握建造者模式的运用和原理

2018-05-31

设计模式之模版方法模式

非常简单的模版方法模式,相信你能通过这个实例能够快速掌握。

2018-05-30

设计模式之适配器模式

最容易上手和学习的实例,设计模式之适配器模式,你值得下载学习

2018-05-28

设计模式之门面模式

设计模式之门面模式,最容易理解和上手的实例,值得学习

2018-05-26

设计模式-抽象工厂模式

能让你最快上手,最容易理解抽象工厂模式,并能在实际中运用

2018-05-20

状态模式实例(电梯)

能让你迅速理解和运用设计模式中的状态模式,进行编程

2018-05-20

WIFI扫描连接

android的WIFI扫描列表连接,可以连接中文WIFI,也可以切换WIFI,已经测试过,正常运行。

2018-01-03

AutoCompleteTextView实现历史记录功能

AutoCompleteTextView实现历史记录功能,可正常运行。

2017-11-27

SurfaceView画图

SurfaceView画图实例。模版代码,可正常运行。可以很好的学习使用SurfaceView

2017-11-26

SnapHelperDemo-master (2).zip

SnapHelperDemo-master (2).zip

2021-09-26

EasyPhotos-master.zip

自定义相册,满足多选,预览和专辑等,觉得是完美的相册demo选择,值得拥有。

2020-12-24

yangMingChuan-CameraMaster-master.zip

结合相机camera1和camera2,还有官方demo,值得学习一下。

2020-12-24

lvjingdemo.zip

基于GPUImage的图片滤镜,集成滤镜有原图、锐化、增亮、黑白、灰度、省墨等,绝对可运行,需要图片滤镜效果的一定要参考一下,值得拥有。

2020-12-17

android完美的图片滤镜效果

android图片滤镜,保证可运行,最全滤镜效果,可手动调节,基于ColorMatrix。关于图片滤镜的效果,必须参考一下,相信一定会有收获的。

2020-12-16

设计模式之禅(高清PDF+源代码)

高清PDF加源码,这是我自己从网上找了很久才找到的资料,绝对好用,我自己看过两遍了,感觉提升很多,希望更多人能够学习。

2018-12-20

理解Window和WindowManager

Window是一个抽象类,具体实现是 PhoneWindow 。不管是 Activity 、 Dialog 、 Toast 它们的视图都是附加在Window上的,因此Window实际上是View的直接管理者。

2018-12-19

android 动画

LayoutAnimation作用于ViewGroup,为ViewGroup指定一个动画,这样当它的子元素出场时都会具有这种动画效果。

2018-12-14

动画Button变大

采用ValueAnimator,监听动画过程,自己实现属性的改变。

2018-12-14

android中的drawable集合

android中的drawable集合,包括Bitmap、shape、Layer、Transition等等

2018-12-11

自定义ViewGroup

模仿ViewPager的效果,自定义继承Linerlayout,学习的例子。

2018-12-07

自定义圆环View

自定义View,继承view,学习自定义控件的简单例子,简单通俗易懂。

2018-12-07

View的滑动冲突处理方案

View的滑动冲突处理方案,分为外部拦截方案和内部拦截方案,代码根据书中源码所写,正常运行,值得学习。

2018-11-20

View的滑动方式

View三种滑动方式,动画,延迟,布局,是研究android中View机制的基石,值得学习。我自己写的代码,运行没有问题。

2018-11-19

IPC方式之Binder连接池

IPC方式之Binder连接池,DEMO自己根据任大神单独写的例子,可以更好的学习理解。

2018-09-17

IPC方式之Socket

IPC方式之Socket,demo根据《Android开发艺术探索》模仿的,简单直接,容易上手,值得下载看看

2018-09-14

IPC方式之ContentProvider

IPC方式之ContentProvider,根据《Android开发艺术探索》自己模仿的例子,简单实用,一目了然。

2018-09-14

IPC方式之aidl

IPC方式之aidl,自己根据任大神的例子,自己单独写了一个,值得好好学习

2018-09-06

跨进程方式之一ipcMessenger

IPC跨进程通信方式之一,已经运行过,可以正常运行使用参考。

2018-09-05

android史上最全通知操作(Notification)

android中的通知功能,notification最全操作,简单易懂好操作,可以正常运行,有问题,请留言

2018-07-20

空空如也

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

TA关注的人

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