自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android IPC机制之 Android的各种IPC方式

使用BundleBundle实现了Parcelable接口,可以在四大组建之间传递数据,使用Intent将Bundle传递过去,Bundle支持的数据类型: 基本数据类型,实现parcel的数据类型,bundle等使用文件共享数据将对象序列化到文件系统,然后在另一个进程中进行反序列化,虽然得到的对象内容是一样的,但是不是同一个对象了,该方式需要考虑并发读写的问题使用MessagerMessager

2016-08-12 23:48:25 1239

原创 Android IPC机制之 理解Binder

服务端 IBinder类的创建Binder是Android一个类实现了Ibinder接口,Binder也是Android跨进程通信的一种方式,Binder是连接Android各种manager和ManagerService的桥梁,Binder还是服务端和客户端通信的媒介, bindService时,服务端会返回一个包含了服务端一些方法的Binder对象,通过该对象我们可以调用服务端的服务。我们通常

2016-08-12 23:47:36 419

原创 Android IPC机制之IPC概念、Android 多进程和相关基础知识

1.IPC 的基本概念1.1 IPC的使用场景IPC 即 Inter-Process Communication 进程间通信,IPC用于多进程,而Android的多进程情况一般有:1.一个应用需要在多进程模式下运行,例如,一些组件需要再单独的进程中运行,或者,为了增加应用可使用的内存。2.当前应用需要获取其他应用的数据,例如content provider。2.Android的多进程模式Androi

2016-08-12 23:46:41 427

原创 字符串匹配--KMP算法

字符串匹配指在主串字符串s,中找到模式串t。字符串匹配指在主串字符串s,中找到模式串t。BF算法BF算法是朴素的字符匹配算法,思想是:如果模式串t和主串s,在对应位置匹配那么下标同时增加1,否则模式串从头开始,回到上次匹配中主串开始位置的下一位置继续往后比较,直到主串末尾。可以看到其时间复杂度为O(m*n)。KMP算法kmp在bf算法上进行了改进,主要是在模式串每次都要从头开始与主串匹配这一过程进行

2016-08-12 23:13:08 305

原创 Android的Window和WindowManager

Window和Windowmanagerwindow是Android视图View显示的容器,activity、Dialog、Toast中的View都是通过window来呈现的,它是一个抽象类,只有一个实现类phonewindow。windowmanager是访问window的唯一入口,window内添加、删除、更新View的操作都由windowmanager来管理,WindowManager的功能是

2016-07-24 09:04:23 540 1

原创 Android高效加载图片和缓存策略LRU,DiskLRU

1.高效加载图片加载图片主要用到BitmapFactory类的四个方法:decodeFile()从文件中加载,decodeResource()从资源文件中加载,decodeStream()从输入流,decodeByteArray()从自己数组中加载, decodefile和decodeResource调用decodeStream实现,四个方法底层都是有native方法实现的。高效加载图片思想:根据

2016-07-24 08:51:25 1387

原创 View动画、activity切换动画、属性动画及其原理

View动画View动画包括:旋转、平移、缩放、透明度、透明度、帧动画一般使用xml定义动画或者动画集,在代码中加载资源文件,调用view的startAnimation()启动动画。可可以设置动画监听器。自定义View动画继承Animation类,实现initialize()和applyTransformation()方法该方法两个参数一个是动画已经执行的时间Viewgroup布局动画布局动画就是指

2016-07-24 08:38:50 1196

原创 Android线程和线程池

线程是系统调度的最小单位。Android主线程和子线程主线程用于运行四大组件及用户的交互,子线程用于执行耗时任务,网络请求,io操作等AsyncTaskAsyncTask封装了线程池和Handler,是一种轻量级的异步任务类,特别耗时的任务不建议使用。有几个核心方法:onPreExecute(),任务执行前调用在主线程执行doInBackGround(),在子线程执行,可以在内部调用publishP

2016-07-17 19:10:34 590

原创 Android消息机制

消息机制本质上就是handler的工作机制,这里涉及到handler,message queue , looper ,Thread Local 等知识,按照惯例先来了解基础知识。Thread Local这是一个用于线程内部数据存储的类是一个泛型类,在主线程创建的一个Thread Local 对象在可以使用threadLocal.set()在子线程赋值,也可以在threadLocal.g...

2016-07-17 15:46:28 1825

原创 View详解之三自定义View

自定义View的分类1.继承View,重写onDraw()实现不规则效果,不方便通过组合布局,需要使用ondraw来绘制实现,这种方式需要在onmeasure处理wrap_content一般在Measure时候Atmost的spec_mode中给定默认值,和padding,在ondraw中绘制时考虑padding。2.继承ViewGroup 实现特殊的layout用于内容不固定的layout,实现很

2016-07-16 21:21:32 637

原创 View详解之二View的事件体系

这周接着上次的学习,继续来学习View相关知识,View的事件体系。首先,掌握几个知识点。View的位置参数先上图,左图中left 、top、right、bottom分别是四个顶点相对于父容器的值,右图中当view反生平移时,view的top值是不会改变的x、y、transitionX、transitionY会反生改变,并且相对于父容器而言。y = top + transitionY;x= left

2016-07-16 19:18:53 634

原创 View详解之一View的绘制原理

View 是开发中最常用的类之一,我们来看看View的真面目吧。首先,先了解几个概念1.Windowwindow是个抽象类,用于承载View和Viewgroup的类,我们在activity中添加View的过程,其实承载这些View的都是Window,只要有View的地方就有Window,比如说Toast,Dialog等。2.Window窗口的布局层次结构在activity中View的从层次结构如下图

2016-07-10 12:17:50 1460

原创 深入学习Activity 之intent的匹配规则

intent的匹配规则主要用于隐式intent,不仅仅是activity,其他的组件也遵循同样的规则intentFilter的过滤信息包括: action ,categeory , data 一个intentFilter可以有多个这三种信息一个activity可以有多个intentfilter,匹配任意一组即可action的规则:匹配intentfilter的任意一个即可,区分大小写categor

2016-06-19 14:16:12 694

原创 深入学习Activity之启动模式

1.activity的启动模式默认的启动模式,每次都需要创建新的实例,有些需求默认启动模式不能满足要求,所以需要不同的启动模式。四种启动模式1.standard,默认模式每次启动都会创建新的activity实例不管是否存在或者是否在栈顶,A 启动了B activity,那么B就会进入A所在的任务栈中,如果使用全局的ApplicationContext去启动activity就会出错,因为没有指定启动a

2016-06-19 14:09:06 455

原创 深入学习activity之不同情况的生命周期

1.Activity的生命周期1.典型情况的生命周期## 2.异常情况的生命周期### 2.1资源相关的系统配置发生改变导致activity的重新创建配置改变不想重新创建activity的方法资源不足导致activity被杀死

2016-06-19 14:08:01 529

原创 windows下如何删除需要***授权的文件夹、文件

windows下如何删除需要*授权的文件夹、文件首先,需要将你当前的登录用户设置为要被删除文件的拥有者。 提示需要*的权限才能删除,鼠标右键弹出属性对话框,选择安全选项卡,点击安全按钮 选择所有者选项卡,点击编辑按钮 选择当前的登录用户名,勾选替换子容器和对象的所有者,点击应用 切换到权限选项卡,单击更改权限 在里面选择当前的登录用户名,勾选 包括可从该对象的父项。。。 和

2016-04-12 21:01:22 3565

reactorio模型

reactor的线程模型支持高并发请求,是nio的一种设计模式。

2019-01-09

内存bytebuf读写模型

java的bytebuffer必须要进行读写模式的手动切换,否则不能正常读写数据

2019-01-09

服务端的bio 模型

bio模型,每个客户端连接必须要有一个连接与之对应,性能较低

2019-01-09

linux io 模型

linux io模型,区分阻塞非阻塞同步异步的概念,从底层理解io。

2019-01-09

feign原理解析时序图

feign原理解析时序图,展示了springcloud的rpc组件的原理

2018-12-16

空空如也

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

TA关注的人

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