vip07scoped storage新特性源码分析与介绍- david分发_第1页
vip07scoped storage新特性源码分析与介绍- david分发_第2页
vip07scoped storage新特性源码分析与介绍- david分发_第3页
vip07scoped storage新特性源码分析与介绍- david分发_第4页
vip07scoped storage新特性源码分析与介绍- david分发_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

辅标题:(课程标题)思源黑体CNMedium字号66事件冲突再也不能阻止你带你手写Android9.0的Google事件分发架构01为什么需要学事件分发Android10的分区存储究竟影响了什么?

相信每一台Android手机的外部存储根目录都是乱得一塌糊涂,这是因为在Android10以前,只要程序获得了READ_EXTERNAL_STORAGE权限,就可以随意读取外部存储的公有目录;只要程序获得了WRITE_EXTERNAL_STORAGE权限,就可以随意在外部存储的公有目录上新建文件夹或文件

于是Google终于开始动手了,在Android10中提出了分区存储,意在限制程序对外部存储中公有目录的为所欲为。分区存储对内部存储私有目录和外部存储私有目录都没有影响。Google事件架构设计事件需要考虑什么?每个界面元素都有事件。意味着事件核心处理类不能太多事件的传递不能丢给开发者实现,只能暴露接口回调每个控件都可能接受事件和消费事件。如果发生控件消费事件,后续事件也必须由他消费如何快速查找控件会消费事件?如何根据点击坐标查找该范围的控件?每次发生事件是都需要遍历每一个子元素吗?02事件分发先从一个典故理解L链和U型链天朝故事古代皇帝写了一本书,只要找出书中的问题,赏银3000两天朝故事二古代皇帝开国大典上赏银3000两什么都没想收下了3000两黄金事件分发调用次数事件分发组成组成分发事件的组件,也称为分发事件者,包括Activity、View和ViewGroup。它们三者的一般结构为:事件分发回顾dispatchTouchEventonTouchEvent消费ActivitydispatchTouchEventonTouchEvent消费ViewGroupdispatchTouchEventonTouchEvent消费View天朝故事ActivityViewGroupView天朝故事ViewGroupView事件黄金该分给谁呢大臣应该定义规则谁家里最穷就分给谁谁TM敢跟我比穷,我最穷02为什么所有的控件都需要继承View,以及事件在View中的占比为什么所有控件都继承View控件与事件的关系没有事件的控件是没有灵魂的,好比模型手机无论怎么按也没有反应,只能看看。而每一个控件是事件传递的一员。切都具备处理事件传递规则的能力。意味着传递事件的代码会抽象在一个类中这个抽象类是View所有控件都是继承自View为什么所有控件都继承View事件60%绘制10%测量15%其他25%View的源码有27753行有图为代码的分类情况02如果你是Google工程师,你怎么设计事件分发框架你如何设计事件分发控件假设如果你现在是Google工程师,由你来设计Android最核心的事件模块,你会怎么设计设计结果ViewImageViewViewGroup继承方式:所有控件继承View确保不论容器类和子控件都能处理事件设计结果ViewGroupImageViewViewGroupViewGroupViewImageView包含方式:所有容器类能加载子控件,子控件不能包含容器和子控件设计结果ViewGroupImageViewViewGroupViewGroupViewImageView包含方式:所有容器类能加载子控件,子控件不能包含容器和子控件02事件回收池回收池回收池理想中的回收池回收池是一个集合需要提供put(存)的方法需要提供get(取)的方法如何快速查考能够响应的控件ViewView手机屏幕导电传感器电路板转换成电频ActivityLinuxJni接口WindowManagerService如何快速查考能够响应的控件ViewView点击事件架构的回收池sRecycleBin是一个Target类型(target是一个单向链表)sRecycleBin必须是一个静态的变量回收池大小必须通过另外的静态变量进行控制TargetnextTargetnextTargetnextTargetnextTargetnextsRecycleBinsRecycleBin02系统源码-事件分发机制WindowManagerService定义它是是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论