自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 问答 (1)
  • 收藏
  • 关注

原创 android apksigner zip解析

zip文件格式解析zip文件格式分为zip文件格式由文件数据区、中央目录结构,中央目录结束标志组成。其中中央目录结束节又有一个字段保存了中央目录结构的偏移。中央目录结束标志解析:中央目录结束标志数据结构struct EndLocator{ ui32 signature; //目录结束标记,(固定值0x06054b50)10进制101010256 ui16 elDisk...

2020-01-09 17:33:01 1311

原创 安卓源码解析:Binder进程间通讯机制(5)-从ServiceManager的角度分析IPC原理

ServiceManager作为Binder进程间通讯的上下文管理者,负责进程间通讯组件的注册,以及提供组件的代理对象.ServiceManager本身也运行在一个独立的进程中,因此,Service组件和Client组件也需要进程间通讯调用他,通讯机制也是使用进程间通讯,所以ServiceManager也是一个特殊的Binder间进程通讯的Service组件.ServiceManager的启动...

2018-08-27 19:46:22 342

原创 安卓源码解析:Binder进程间通讯机制(4)-内核空间Binder驱动详解(Binder驱动库 C/C++接口简介)

Binder由Service组件和Client组件组成,两个组件通过Binder内核进行通信,Service组件继承BnInterface,包含BnXXXX开头的所有类,Service组件被称为本地对象对应Binder驱动实体对象,Client组件被称为代理对象对应BInder驱动中的引用对象.中的最终功能的实现是继承了BnXXXX的Service类,数据通过IPCThreadState和Proc...

2018-08-25 23:44:41 356

原创 安卓源码解析:Binder进程间通讯机制(3)-内核空间Binder驱动详解(Binder驱动内存管理)

Binder初始化binder初始化从kernel/drivers/staging/android/binder.c的binder_init方法开始 https://www.androidos.net.cn/androidkernel/2.6.29/xref/drivers/staging/android/binder.cstatic int __init binder_init(voi...

2018-08-22 17:23:55 673

原创 安卓源码解析:Binder进程间通讯机制(2)-内核空间Binder驱动详解(基础数据结构)

  Binder驱动存在于Linux kernel层,知识点如要包括基础数据结构(结构体),初始化过程,以及binder的打开open,映mmap,ioctl,管理内核缓冲区等操作.基础数据结构1.binder_workstruct binder_work { struct list_head entry; enum { ...

2018-08-22 12:27:02 531

原创 安卓源码解析:Binder进程间通讯机制(1)-简况

什么是Binder?  Android是基于Linux内核开发的操作系统,在Android中,每个新开启的应用程序App启动时都会通过ActivityManagerService调用Dalvik虚拟机fork出一个新的进程,这个进程与Linux进程一样,拥有独立地址空间中,代码在其独立的空间中单独运行,互不干涉.   那么,一个拥有独立空间的应用程序进程如何向其他进程发送消息呢?显然需要开辟...

2018-08-21 14:35:06 327

原创 安卓5.1源码解析 : RecyclerView解析 从绘制流程,ViewHolder复用机制,LayoutManger,ItemAnimator等流程全面讲解

最近一直在研究安卓中几个常用控件的源码,希望能通过学习源码学习到google大牛在封装一些复杂view的思想,为以后自己造轮子提供更好的思路.RecyclerView是一个用户可以全面定制的组件,本文将全面分析RecyclerView的各种机制,包括viewholder复用机制,LayoutManager布局机制,ItemAnimatoritem动画等RecyclerView暴露给使用者的所有可以自

2016-12-28 17:17:06 25289 9

原创 安卓5.1源码解析 : ListView解析 从绘制,刷新机制到Item的回收机制全面讲解

最近一直在研究关于安卓中常用控件的源码实现,也参考了不少文章,希望通过自己的总结加深一下记忆,我会从一个view的绘制流程去分析这个控件作为安卓中最常用的控件ListView,我觉很很有必要学习一下Google的大牛是如何实现这种比较复杂的控件,包括ListVIew的绘制流程,ListView的缓存机制,以及封装思想,对今后自己能早出更好的轮子有所帮助.注 : 所有的源码都是来自安卓5.1版本.本文

2016-12-20 20:26:46 19689 20

原创 RxBus封装(IOC+动态代理设计模式) — 像EventBus3,otto一样优雅

RxBus封装(IOC+动态代理设计模式) — 像EventBus3,otto一样优雅本文将通过封装RxJava实现像EventBus3或者otto注解的方式进行消息传递 :最近在使用RxBus的时候总有这么一种感觉,如果使用一般方式进行消息传递效果是这样的 ,关于一般的RxBus怎么实现,这里就不多做赘述,毕竟度娘上有很多大牛都有封装教程: RxBus.getInstance()

2016-12-02 21:30:12 2719 1

空空如也

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

TA关注的人

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