网站大量收购独家精品文档,联系QQ:2885784924

《Android核心分析》.pdf

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《Android核心分析》

摘抄自 /blog-97745-249.html 原文地址:/mobiledev/201107262.asp 《Android 核心分析》整理如下 13.Android核心分析之Android GEWS窗口管理基本架构篇 Android的窗口管理是C/S模式的。Android中的Window是表示Top Level等顶级窗口的 概念。DecorView是Window的Top-Level View,这个View我称之为主View,DecorView 会缺省的attach到Activity的主窗口中。主View被加入到WindowManager中,WM使用 WindowState与这个主View对应。 Activity建立一个主窗口后,在将主窗口添加到WindowManager时,首先要建立 WindowManager代理对象,并打开一个会话(实现IWindowSession AIDL接口),并维持该 会话。Activity将通过该会话与WindowManager建立联系,这个Session是C/S体系的基 础,Client通过WindowSession将window加入到Window Manager中。 一个完整的窗口概念横跨了View,ViewRoot,WindowManager Service。Window, DecorView,View,IWindow ,ISession,WindowState之间的关系如下 Client端的Activity通过Session会话与WindowManager建立对话,而WindowManager则 通过IWindow接口访问Client,将消息传递到Client端,通过消息分发渠道,将消息传递 到处理函数OnXXX。 后面我们将通过Client,WM Service分别加以分析。 2 Client端 我一致认为在Android中Window的概念并不是个很重要的概念。他的Window类,只是在 PhoneWindow和MidWindow中使用。而PhoneWindow只是做了一个具体跟手机功能相关的公 用事件的处理,所以在Android中PhoneWindow并不是一个抽象的纯正概念,而是一个跟 手机系统相关的一个特别窗口概念,例如按键的默认动作处理,按键音的发出等等。 2.1 View 在Activity中真正重要的概念是View,以下是Google官方对View的定义: This class represents the basic building block for user interface components. A View occupies a rectangular area on the screen and is responsible for drawing and event handling. View is the base class for emwidgets/em, which are used to create interactive UI components (buttons, text fields, etc.). The {@link android.view.ViewGroup} subclass is the base class for emlayouts/em, which are invisible containers that hold other Views (or other ViewGroups) and define their layout properties. 我对View不做翻译,翻译成视图好像不太佳,View在Android中,View比视图具有广的 外延。View包含了用户交互,包含了显示,视图在中文中仅仅表示了静态的显示。对于 View的理解应该从最容易的理解开始。我们使用过编辑器,在Android中这个编辑器就是 一个View,这个编辑器需要显示文字,需要接收用户的键盘输入和鼠标选择,但是一个屏 幕上有多个编辑器,如何管理,如何切换焦点编辑器,这些都是需要管理的。 客户端的组成:(Window,View,ViewRoot,WindowManager Proxy) 在Activity在performLaunchActivity时,会使用Activity.attach()建立一个 PhoneWindow主窗口。这个主窗口的建立并不是一个重点。handleResumeActivity真正要 启动一个Activity时候,将主窗口加入到WindowManager,当

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档