Android - 进阶
文章平均质量分 76
IT一书生
简书:https://www.jianshu.com/u/679b1ba9d73d
展开
-
Android 高级进阶 - 触摸事件传递机制
一、触摸事件的类型触摸事件对应的是MotionEvent类,事件类型主要有如下三种ACTION_DOWN:按下操作ACTION_MOVE:按下屏幕后滑动操作ACTION_UP:离开屏幕操作注:ACTION_DOWN和ACTION_UP这两个操作是一定存在的,ACTION_MOVE操作是否存在要视情况而定。二、事件传递的三个阶段事件传递的三个阶段如下:01、分发(Dispatch)对应 dispat...原创 2018-01-09 20:35:34 · 218 阅读 · 0 评论 -
Android 高级进阶 - View的绘制流程
前言Android 的UI管理系统的层级关系:PhoneWindow 是Android 系统中最基本的窗口系统,每一个Activity 会创建一个。PhoneWindow 是Activity 和View 系统 交互的接口。DecorView 本质上是一个FrameLayout ,是Activity 中所有View 的祖先。一、绘制的整体流程启动Activity,绘制从根视图ViewRoot 的pe...原创 2018-01-11 09:32:19 · 385 阅读 · 0 评论 -
Android高级进阶 - 动画之逐帧动画(Frame Animation)
前言Android 3.0 之前,有两种类型:逐帧动画和补间动画;Android 3.0 发布时,Android SDK 又提供了更加简单的属性动画;Android 4.4 发布时,Android SDK 又提供了 android.transition 框架,更直观实现动画。一、逐帧动画也叫 Drawable Animation。有两种方式可以定义 XML 资源文件和代码实现。二、XML 资源文件...原创 2018-01-12 12:35:44 · 485 阅读 · 0 评论 -
Android 高级进阶 - 动画之补间动画(Tween Animation)
前言:无需定义动画过程的每一帧,只需要定义出发和结束这两个关键帧,并指定动画变化的时间和方式。四种基本效果:透明度(Alpha)、大小(Scale)、位移(Translate)、旋转(Rotate)一、插值器(Interpolator)Interpolator 类是一个空接口,继承自 TimeInterpolator。它负责控制动画的变化速度,如:匀速、加速、减速、抛物线等多种速度变化。 /...原创 2018-01-12 19:38:53 · 266 阅读 · 0 评论 -
Android 高级进阶-App瘦身经验
一、APK 增大的原因Java 代码文件: classes*.dex;Native 代码文件:lib 目录下的 .so 文件;资源文件:包括 assets 目录、res 目录以及 resources.arsc 索引表文件(用来描述具有ID值的资源的配置信息);二、优化图片资源占用空间 public static enum CompressFormat { JPEG, ...原创 2018-01-23 16:42:44 · 237 阅读 · 0 评论 -
Android 高级进阶 - 动画之属性动画(Property Animation)
前言:补间动画 pk 属性动画补间动画不足以覆盖所有动画场景,在功能和扩展方面存在缺陷;属性动画则弥补了这些缺陷。01、补间动画只对View进行操作;属性动画也能对非View对象进行操作(如自定义View中point对象,自定义View也就有了动画效果)。02、补间动画只能够实现移动、旋转、缩放、透明度;属性动画则不然。03、补间动画只改变了View的显示效果,不能改变View的属性(如View的...原创 2018-01-17 15:59:04 · 210 阅读 · 0 评论 -
Android 高级进阶- Android 开源项目
一、App 的整体架构App 结构,应具有清晰的层次划分、同一层模块间充分解耦、模块内部符合面向对象设计六大原则。App 的整体架构整体分为:应用层:直接面向对象,如:支付,地图,社交等。基础框架层:组件层(二维码、推送、手势、事件总线等)、基础层(网络通信、数据库、JSON解析等)、跨平台层(日期、日志、线程等)。二、选择开源框架特性:是否满足项目的需求;可用性:是否提供简洁的API;性能:性能...原创 2018-01-18 18:58:34 · 1182 阅读 · 0 评论 -
Android 高级进阶- 数据序列化
前言:序列化:将数据结构或对象转换成可用于存储或传输的数据格式的过程,在序列化期间,数据结构或对象将其状态信息写入到临时或持久性存储中;反序列化:将序列化生成 的数据还原成数据结构或对象的过程。一、SerializableSerializable 是JDK提供的接口,序列化方式是基于磁盘或网络的。Serializable 接口是一种标识接口,也就是无需实现方法,便能实现序列化。缺点:使用反射机制,...原创 2018-01-18 11:15:35 · 223 阅读 · 0 评论 -
Android Gradle配置资源前缀
资源冲突公司在不断推进组件化,多个Module开发,当然也存在许多需要注意的问题。是无法保证多个Module中的资源命名完全不同,就可能会出现资源引用问题,造成资源冲突。解决方式可以根据不同Module功能来设置资源前缀,从而保证资源命名的唯一性。提问团队开发,怎么保证每个人的资源命名都能遵守规则,设置前缀?那么能不能动态检测资源命名是否设置前缀?Gradle 配置在android...原创 2018-09-29 11:27:35 · 6303 阅读 · 2 评论