- 博客(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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人