自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

WS_611的博客

水滴石穿

  • 博客(51)
  • 资源 (2)
  • 收藏
  • 关注

原创 Android Touch 事件的分发和消费机制

本文改自转载:Android 中与 Touch 事件相关的方法包括:dispatchTouchEvent(MotionEvent ev)、onInterceptTouchEvent(MotionEvent ev)、onTouchEvent(MotionEvent ev);能够响应这些方法的控件包括:ViewGroup 及其子类、Activity。方法与控件的对应关系如下表所示...

2019-06-28 15:12:21 515

转载 Android开发知识点

1、RecyclerView计算滑动距离2、最全的Android 颜色透明度3、Android样式的开发4、用SpannableString打造绚丽多彩的文本显示效果5、Android自定义控件三部曲文章索引6、判断RecyclerView到达底部的方法7、用ColorFilter为安卓按钮增加效果8、PageTransformer实现一个层叠的卡片9、制作圆形图片...

2019-02-20 20:16:47 120

原创 正则表达式的规则

A:字符    x 字符 x。举例:'a'表示字符a    \\ 反斜线字符。    \n 新行(换行)符 ('\u000A')     \r 回车符 ('\u000D') B:字符类    [abc] a、b 或 c(简单类)     [^abc] 任何字符,除了 a、b 或 c(否定)     [a-zA-Z] a到 z 或 A到 Z,两头的字母包括在内(范...

2018-11-13 20:47:05 178

原创 原型模式

原型模式:* 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。* 优点:* 1、性能优良* 原型模式是在内存二进制流的拷贝,要比直接new一个对象性能好很多,特别是要在一个循环体内产生大量的对象时,原型模式 可以更好地体现其优点。* 2、逃避构造函数的约束* 这既是它的优点也是缺点,直接在内存中拷贝,构造函数是不会执行的** 使用场景:* 1...

2018-11-12 20:19:24 111

原创 监听者模式

// 执行者接口interface Subject { public String doSomething(int state);}class ConcreteSubject{ private Subject subject; public void setSubject(Subject subject) { this.subject = subject; } pub...

2018-11-12 20:18:31 131

原创 模板模式

模板模式:* 优点:* 1、封装不变部分,扩展可变部分* 2、提取公共部分,便于维护* 3、行为由父类控制,子类实现** 缺点:* 一般设计习惯,抽象类负责声明最抽象、最一般的事物的属性和方法,实现类完成具体的事物属性和方法。但是模板模式却颠倒* 了过来,抽象类定义了部分抽象方法,由子类来实现,子类执行的结果影响了父类的结果,也就是子类对父类产生了影响,这在* ...

2018-11-12 20:17:22 76

原创 建造者模式

建造者模式* @author Administrator* 优点:* 1、封装性* 2、建造者独立,容易扩展* 3、便于控制细节风险** 适用场景:* 1、相同方法,不同的执行顺序,产生不同的事件结果时* 2、多个部件或者零件,都可以转配到一个对象中,但是生产出来的运行结果又不相同时* 3、产品非常复杂,或者产品类中的调用顺序不同产生了不同的效能* 4、...

2018-11-08 21:14:42 81

原创 单例模式

单例模式* @author Administrator*饿汉*优点:* 1、由于单例模式在内存中只有一个实例,减少了内存的开支,特别是一个对象需要频繁地创建、销毁时,而且创建或者销毁时的性能又无法优化* 2、单例模式减少对资源的多重占用* 3、优化共享资源**缺点:* 1、单例模式一般没有接口,扩展困难* 2、单例对测试不利。在并行开发环境中,如果单例没...

2018-11-08 21:13:50 77

原创 适配器模式

适配器模式* @author Administrator*优点:* 1、适配器模式可以让两个没有任何关系的类在一起运行,只要适配器这个角色能够搞定他们就行* 2、增加了类的透明性* 3、提高了类的复用度* 4、灵活性非常好*使用场景:* 你有动机修改一个已经投产中的接口时,适配器模式可能是最适合你的模式。比如:系统扩展了,需要使用一个* 已有的或者新建立的类,但...

2018-11-08 21:12:58 78

原创 代理者模式

* 动态代理** @author Administrator* 动态代理的主要意图就是解决审计问题,也就是横切面编程,在不改变我们已有代码结构的情况下增强或控制对象的行为。* 动态代理实现代理的职责,业务逻辑Subject实现相关的逻辑功能,两者之间没有必然的相互耦合关系。* 通知从另一个切面切入,最终在高层模块也就是Client进行耦合 完成逻辑封装任务。* 要实现动态代...

2018-11-08 21:11:52 100

原创 装饰者模式

装饰者模式: 优点:1、装饰类和被装饰类可以独立发展,而不会互相耦合。2、装饰模式是继承关系的一个替代方案3、装饰模式可以动态地扩展一个实现类的功能 缺点: 对于装饰者模式多层的装饰是比较复杂的 使用场景:1、需要扩展一个类的功能,或者给一个类增加附加的功能2、需要动态地给一个对象增加功能,这些功能可以再动态地撤销3、需要为一批兄弟类进行改装或加装功...

2018-11-08 21:10:37 106

原创 工厂模式

简单工厂模式有如下缺点,而工厂方法模式可以解决这些问题:由于工厂类集中了所有实例的创建逻辑,这就直接导致一旦这个工厂出了问题,所有的客户端都会受到牵连。 由于简单工厂模式的产品是基于一个共同的抽象类或者接口,这样一来,产品的种类增加的时候,即有不同的产品接口或者抽象类的时候,工厂类就需要判断何时创建何种接口的产品,这就和创建何种种类的产品相互混淆在了一起,违背了单一职责原则,导致系统丧失灵活...

2018-11-08 21:09:41 91

原创 抽象工厂模式

抽象工厂模式优点 因为每个具体工厂类只负责创建产品,没有简单工厂中的逻辑判断,因此符合单一职责原则。 与简单工厂模式不同,抽象工厂并不使用静态工厂方法,可以形成基于继承的等级结构。 新增一个产品族(如上文类图中的MySQLUserDao,MySQLRoleDao,MySQLProductDao)时,只需要增加相应的具体产品和对应的具体工厂类即可。相比于简单工厂模式需要修改判断逻辑而言,...

2018-11-08 21:08:35 105

原创 观察者模式

观察者模式的优点:* 1、观察者和被观察者之间是抽象耦合* 2、建立一套触发机制(形成了一个触发链,观察者模式可以完美地实现这里的链条形式。)** 观察者模式的缺点:* 1、观察者模式需要考虑一下开发效率和运行效率问题,一个被观察者,多个观察者,开发和调试就会比较复杂,而且在Java中消息的通知默认是顺序执行,一个观察者卡壳,* 会影响整体的执行效率。在这种情况下,一般考虑...

2018-11-08 21:07:16 97

原创 观察者模式(Java自带实现类)

观察者模式的优点:* 1、观察者和被观察者之间是抽象耦合* 2、建立一套触发机制(形成了一个触发链,观察者模式可以完美地实现这里的链条形式。)*观察者模式的缺点:* 1、观察者模式需要考虑一下开发效率和运行效率问题,一个被观察者,多个观察者,开发和调试就会比较复杂,而且在Java中消息* 的通知默认是 顺序执行,一个观察者卡壳, 会影响整体的执行效率。在这种情况下,一般考虑...

2018-11-08 21:06:18 217

原创 责任链模式

责任链模式:* 使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求, 直到有* 对象处理它为止。* 重点:* 重点是在“链”上,有一条链去处理相似的请求在链中决定谁去处理这个请求,并返回相应的结果。链是由多个处理者组成的。* 抽象的处理者必须实现三个职责:* 1、定义一个请求的处理方法HandlerMess...

2018-11-08 21:04:34 73

转载 组件通讯(二)

DfyProject01/** * Sample React Native App * https://github.com/facebook/react-native */import React, { Component } from 'react';import { AppRegistry, StyleSheet, Text, Image, Touch...

2018-09-02 15:48:20 313

转载 复杂的组件通讯(一)

DfyProject01/** * Sample React Native App * https://github.com/facebook/react-native */import React, { Component } from 'react';import { AppRegistry, StyleSheet, Text, Image, Touch...

2018-09-02 15:46:06 251

转载 物理back键(一)

DfyProject01/** * Sample React Native App * https://github.com/facebook/react-native */import React, { Component } from 'react';import { AppRegistry, StyleSheet, Text, Image,...

2018-09-02 15:42:52 351

转载 AsyncStorage

DfyProject01/** * Sample React Native App * https://github.com/facebook/react-native */import React, { Component } from 'react';import { AppRegistry, StyleSheet, Text, Image,...

2018-09-02 15:39:59 367

转载 react-native-side-menu

DfyProject01/** * Sample React Native App * https://github.com/facebook/react-native */import React, {Component} from 'react';import { AppRegistry, StyleSheet, Text, Image, ...

2018-09-02 15:35:31 456

转载 RN组件通讯(一)

DfyProject01/** * Sample React Native App * https://github.com/facebook/react-native */import React, { Component } from 'react';import { AppRegistry, StyleSheet, Text, Image, Touch...

2018-08-23 22:19:18 497

转载 ViewPagerAndroid

/** * Sample React Native App * https://github.com/facebook/react-native */'use strict';import React, { Component } from 'react';import { AppRegistry, StyleSheet, Text, ViewPag...

2018-08-22 23:37:07 336

转载 DrawerLayoutAndroid

/** * Sample React Native App * https://github.com/facebook/react-native */'use strict';import React, { Component } from 'react';import { AppRegistry, StyleSheet, PixelRatio, T...

2018-08-22 23:36:07 262

转载 Navigator

/** * Sample React Native App * https://github.com/facebook/react-native */'use strict';import React, { AppRegistry, Component, StyleSheet, PixelRatio, Navigator, Scroll...

2018-08-22 23:34:20 366

原创 Picker组件和箭头函数

Picker组件和箭头函数废话少说,直接上代码/** * Sample React Native App * https://github.com/facebook/react-native */'use strict';import React, { Component } from 'react';import { AppRegistry, StyleS...

2018-08-22 23:18:11 718

转载 开源轮播组件react-native-swiper

Button/** * Sample React Native App * https://github.com/facebook/react-native */import React, { Component } from 'react';import { AppRegistry, StyleSheet, Text, TouchableWit...

2018-08-22 23:06:16 713

转载 RN仿异步获取网络数据

 Button/** * Sample React Native App * https://github.com/facebook/react-native */import React, { Component } from 'react';import { AppRegistry, StyleSheet, Text, Touchable...

2018-08-22 23:01:46 544

原创 Handler内存泄漏分析及解决

Handler内存泄漏分析及解决一、介绍首先,请浏览下面这段handler代码:public class SampleActivity extends Activity { private final Handler mLeakyHandler = new Handler() { @Override public void handleMessage(Message msg) {

2017-06-22 09:31:31 150

原创 Git操作

Git 操作git 命令创建本地仓库git init获取远程仓库git clone [url]例:git clone https://github.com/you/yourpro.git创建远程仓库// 添加一个新的 remote 远程仓库git remote add [remote-name] [url]例:git remote add origin https://github

2017-06-22 09:31:00 155

原创 Fragment

Fragment为何产生同时适配手机和平板、UI和逻辑的共享。介绍Fragment也会被加入回退栈中。Fragment拥有自己的生命周期和接受、处理用户的事件可以动态的添加、替换和移除某个Fragment生命周期必须依存于ActivityFragment依附于Activity的生命状态生命周期中那么多方法,懵逼了的话我们就一起来看一下每一个生命周期方法的含义吧。Fragment生命周期

2017-06-22 09:30:39 132

转载 EventBus用法详解

EventBus概述EventBus是一款针对Android优化的发布/订阅(publish/subscribe)事件总线。主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息。简化了应用程序内各组件间、组件与后台线程间的通信。优点是开销小,代码更优雅。以及将发送者和接收者解耦。比如请求网络,等网络返回时通过Handle

2017-06-22 09:29:58 213

转载 Bitmap的分析与使用

Bitmap的分析与使用Bitmap的创建创建Bitmap的时候,Java不提供new Bitmap()的形式去创建,而是通过BitmapFactory中的静态方法去创建,如:BitmapFactory.decodeStream(is);//通过InputStream去解析生成Bitmap(这里就不贴BitmapFactory中创建Bitmap的方法了,大家可以自己去看它的源码),我们跟进Bitm

2017-06-22 09:28:53 487

转载 Binder机制

Binder机制首先Binder是Android系统进程间通信(IPC)方式之一。Binder使用Client-Server通信方式。Binder框架定义了四个角色:Server,Client,ServiceManager以及Binder驱动。其中Server,Client,ServiceManager运行于用户空间,驱动运行于内核空间。Binder驱动程序提供设备文件/dev/binder与用户空

2017-06-22 09:28:29 148

转载 Asynctask源码分析

AsyncTask首先从Android3.0开始,系统要求网络访问必须在子线程中进行,否则网络访问将会失败并抛出NetworkOnMainThreadException这个异常,这样做是为了避免主线程由于耗时操作所阻塞从而出现ANR现象。AsyncTask封装了线程池和Handler。AsyncTask有两个线程池:SerialExecutor和THREAD_POOL_EXECUTOR。前者是用于任

2017-06-22 09:28:06 193

原创 Art和Dalvik区别

ART和Dalvik区别Art上应用启动快,运行快,但是耗费更多存储空间,安装时间长,总的来说ART的功效就是”空间换时间”。ART: Ahead of Time Dalvik: Just in Time什么是Dalvik:Dalvik是Google公司自己设计用于Android平台的Java虚拟机。Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的核心组成部分之一,它可以

2017-06-22 09:27:47 211

原创 APP启动过程

APP启动过程上图就可以很好的说明App启动的过程ActivityManagerService组织回退栈时以ActivityRecord为基本单位,所有的ActivityRecord放在同一个ArrayList里,可以将mHistory看作一个栈对象,索引0所指的对象位于栈底,索引mHistory.size()-1所指的对象位于栈顶Zygote进程孵化出新的应用进程后,会执行ActivityT

2017-06-22 09:27:31 158

转载 ANR问题

ANR1、ANR排错一般有三种类型KeyDispatchTimeout(5 seconds) –主要是类型按键或触摸事件在特定时间内无响应BroadcastTimeout(10 seconds) –BroadcastReceiver在特定时间内无法处理完成ServiceTimeout(20 secends) –小概率事件 Service在特定的时间内无法处理完成2、哪些操作会导致ANR 在

2017-06-22 09:27:13 243

转载 Android性能优化

Android性能优化合理管理内存节制的使用Service如果应用程序需要使用Service来执行后台任务的话,只有当任务正在执行的时候才应该让Service运行起来。当启动一个Service时,系统会倾向于将这个Service所依赖的进程进行保留,系统可以在LRUcache当中缓存的进程数量也会减少,导致切换程序的时候耗费更多性能。我们可以使用IntentService,当后台任务执行结束后会自动

2017-06-22 09:25:50 217

转载 Android系统机制

Android系统机制APP启动过程Launcher线程捕获onclick的点击事件,调用Launcher.startActivitySafely,进一步调用Launcher.startActivity,最后调用父类Activity的startActivity。Activity和ActivityManagerService交互,引入Instrumentation,将启动请求交给Instrumen

2017-06-22 09:24:45 256

狗狗说RN项目

RN项目,一款非常简单的练手项目,可以作为基础的学习项目。

2018-09-06

仿美团项目RN

仿美团RN项目,内容丰富,代码详细,适合学习ReactNative的同学参考

2018-08-27

空空如也

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

TA关注的人

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