Lu Tian的博客

  • 首页

  • 关于

  • 标签50

  • 分类22

  • 归档105

  • 日程表

  • 站点地图

  • 搜索

View事件分发机制

发表于 2018-12-23 | 更新于 2018-12-24 | 分类于 安卓
本文字数: 6.8k | 阅读时长 ≈ 6 分钟

一、先看ViewGroup类中的dispatchTouchEvent方法,其中关于拦截事件的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// Check for interception.
final boolean intercepted;
if (actionMasked == MotionEvent.ACTION_DOWN
|| mFirstTouchTarget != null) {
final boolean disallowIntercept = (mGroupFlags & FLAG_DISALLOW_INTERCEPT) != 0;
if (!disallowIntercept) {
intercepted = onInterceptTouchEvent(ev);
ev.setAction(action); // restore action in case it was changed
} else {
intercepted = false;
}
} else { // There are no touch targets and this action is not an initial down
// so this view group continues to intercept touches.
intercepted = true;
}
阅读全文 »

Android9.0根activity启动流程分析

发表于 2018-12-22 | 分类于 安卓
本文字数: 8.2k | 阅读时长 ≈ 7 分钟

activity的启动流程

activity的启动过程分为两种,一种是根Activity的启动过程,另一种是普通Activity的启动过程。根activity的启动过程更复杂,也更具代表性,所以这里先分析根activity的启动过程。根activity的启动分为三部分:Launcher启请求AMS(ActivityManagerService)过程、AMS到ApplicationThread的调用过程以及ActivityThread启动Activity的过程。可以在这个网站在线看9.0.0_r3源码。

1,Launcher请求AMS过程
阅读全文 »

Android中Binder机制浅析

发表于 2018-12-22 | 更新于 2019-01-04 | 分类于 Binder机制
本文字数: 2.6k | 阅读时长 ≈ 2 分钟

本文转载于简单理解Binder机制的原理

一、为什么要使用Binder

性能方面

在移动设备上(性能受限制的设备,比如要省电),广泛地使用跨进程通信对通信机制的性能有严格的要求,Binder相对出传统的Socket方式,更加高效。Binder数据拷贝只需要一次,而管道、消息队列、Socket都需要2次,共享内存方式一次内存拷贝都不需要,但实现方式又比较复杂。

阅读全文 »

Activity启动流程浅析

发表于 2018-12-21 | 更新于 2018-12-23 | 分类于 安卓
本文字数: 9.3k | 阅读时长 ≈ 8 分钟
在api26中,ActivityManagerNative类已经被弃用,同时代理类ActivityManagerProxy也被删除了。

Instrumentation类的execStartActivity方法如下,注意注释1处。

阅读全文 »

UI fragment和fragment管理器

发表于 2018-12-17 | 更新于 2018-12-27 | 分类于 fragment
本文字数: 1.6k | 阅读时长 ≈ 1 分钟

一、UI设计的灵活性要求

开发一个由两个Activity组成的列表明细类应用就可以了,一个activity负责管理记录列表,另一个负责管理记录明细界面,点击列表中某条记录会启动其明细activity实例,按后退键会销毁明细activity并返回到记录列表activity界面,想看记录,同样操作。理论上这样可行,但是如果应用需要更复杂的用户界面呈现及跳转,怎么办?

阅读全文 »

安卓编程权威指南1--3章知识点汇总

发表于 2018-12-15 | 更新于 2018-12-16 | 分类于 安卓
本文字数: 11k | 阅读时长 ≈ 10 分钟

一、Android开发初体验

开发一个应用,名叫GeoQuiz,它能给出一道道地理知识问题,用户点击TRUE或FALSE来回答屏幕上的问题,GeoQuiz会及时给出反馈,应用界面如下图所示。

阅读全文 »

1…111213…18
Lu Tian

Lu Tian

每天进步一点点

RSS
GitHub E-Mail QQ
推荐阅读
  • 刘望舒
  • 任玉刚
  • 郭霖
© 2019 Lu Tian | 504k | 7:38
由 Hexo 强力驱动 v3.8.0
|
主题 – NexT.Pisces v6.5.0
全站共 168.3k 字