window,windowManager --《android 艺术探索读书》笔记
window windowManager
- windowManager 与windowManagerService的交互式一个IPC过程
- Android所有视图都是通过window呈现
- window 抽象类,具体实现是PhoneWindow 通过WindowManager创建
- WindowManager是外界访问Window的入口,
- window的具体实现在WindowMngerService.
- window分类:应用window(activity)子window(dialog,不能单独存在,必须要依附在特定父window) 系统window(toast,系统状态栏)
- window分层:z-ordered 层级打的覆盖层级小的上面 应用类:1-99 子window:1000-1999 系统:2000-2999
- windowmanager提供的方法;addView,updateView,removeView
window的内部机制:
- 每个window对应着一个view 一个ViewRootImpl
- window 和view通过ViewRootImpl建立联系
- window的添加过程: a. 检验参数是否合法 b. 创建ViewRootImpl,并将view添加到列表中 c. 通过ViewRootImpl来根系界面并完成window的添加过程 ViewRootImpl.setView 其实是view的绘制过程,setview中通过requestLayout异步绘制 requestlayout调用scheduleTraversals(view绘制的入口) d. windowSession【实际上是一个Binder】 IPC完成window的添加过程。其内部调用WindowManagerService实现添加window.
- deleteView中view会调用onDetachedFromWindow 做资源回收的工作
- 体现的设计模式 a. add remove,update等操作 是 windowManager的实现类windowManagerImpl中交由windowManagerGlobal处理,后者以工厂的方式提供实例。 b. windowManagerImpl体现了桥接模式,所有操作委托给WindowManagerImpl实现。
Android源码中接口,抽象类多如牛毛,好像自己不是Interface,abstract class都不好意思出门见人, 管中窥豹,感叹一声,google的程序员真是高瞻远瞩啊
window,windowManager --《android 艺术探索读书》笔记相关推荐
- Android开发艺术探索 读书笔记
啥也不说了,@主席的<Android开发艺术探索>真是业界良心之作,不得不看!感谢主席,膜拜主席!主席主席,我要跟你生猴子!(>^ω^<) 读书笔记中若有任何问题请留言告知,谢 ...
- Android开发艺术探索读书笔记(一)
首先向各位严重推荐主席这本书<Android开发艺术探索>. 再感谢主席邀请写这篇读书笔记 + 书评.书已经完整的翻完一遍了,但是还没有细致的品读并run代码,最近有时间正好系统的把整本书 ...
- Android 开发艺术探索 - 读书笔记目录
仅作为读书笔记使用,建议阅读原书. 书中代码部分已和现版本不符,建议对比最新版本学习. 读了这本书,越发认识到和大佬们的差距.嗯,加油吧. 过去の自分が今仆の土台となる 第 1 章 - Activit ...
- Android开发艺术探索读书笔记
前言 Android开发艺术(这本书真的是艺术,太崇拜刚哥了,值得每一个做Android开发刷十遍的书) 1,Activity生命周期和启动模式 典型情况下的生命周期分析 onCreate() onS ...
- Android开发艺术探索读书笔记(二)
首先感谢大家支持,昨天第一篇写出来之后反响很好,主席本人也非常赞赏(捂脸-),再接再厉,推出第二篇.这篇的主要内容是对两章View的内容进行总结.不得不说,自定义View是很多开发者的痛点,一方面我们 ...
- Android开发艺术探索读书笔记(第5章 RemoteView)
原理 RemoteView的作用是在其他进程中显示并更新view界面. 大量的IPC操作会影响效率,为了解决这个问题,系统并没有通过Binder去直接支持View的跨进程访问,而是提供了一个Actio ...
- Android深度探索读书笔记 第七章
第七章主要介绍led驱动.1测试led驱动:测试之前需要用USB数据线连接s3c开发板,然后打开S3C开发板的电源开关,成功启动后,执行build..sh脚本文件编译和安装led驱动.2 创建led驱 ...
- Android深度探索读书笔记 第六章
Linux系统将每一个驱动都映射成一个文件.这些文件称为设备文件或驱动文件,都存在/dev目录中.编写linux驱动程序的步骤:1建立linux驱动骨架:linux内核在使用驱动时首先需要装载驱动.在 ...
- 《android开发艺术探索》笔记之Bitmap的加载和Cache
<Android开发艺术探索>笔记之Bitmap的加载和Cache<一> 我放暑假前,就在图书馆借了一本<Android开发艺术探索>,这也是我看到很多人推荐的.之 ...
最新文章
- Debug Your Life!关于学习、面试和工作成长(附B站录播)
- 【Android 异步操作】Handler ( 主线程中的 Handler 与 Looper | Handler 原理简介 )
- POJ3267The Cow Lexicon
- 《POSIX多线程程序设计》读书笔记
- dotweb——go语言的一个微型web框架(二)启动dotweb
- C#重写ShowDialog函数
- gitlab 构建tag_GitLab常用命令 分支 Tag 配置 操作
- 输入字符串统计字符串中每个字符出现的次数
- python 中locals() 和 globals()
- matlab多折线图,MATLAB画出堆叠折线图
- 2018初中计算机考试知识点,[2018年最新整理]全国计算机一级考试MS_Office知识点.docx...
- 内网主机通过外网地址访问内网服务器
- 计算机组成原理问题集合
- Android人脸支付功能,OPPO Find X成为首款支持微信人脸支付的安卓手机
- Java--->奥运五环
- 键盘的空格键都有什么用处
- 【linux内核分析与应用-陈莉君】动手实践--内核多任务并发实例
- 计算机网络总线型结构优 缺点,总线型拓扑结构优缺点是什么
- 新手小白怎么学抖音运营?抖音运营5大技巧
- 京东白条三道坎:“白条”如何吸金?
热门文章
- app后台运行会给服务器发信息吗_零基础搭建电视直播APP平台第一弹(支持安卓+电视盒子)...
- html事件机制,浅析JavaScript中的事件机制_基础知识
- java io流顶层_Java中的IO流(一)
- cron 每小时_旺季招聘:高薪小时工!
- 计算机语言里的笑脸,设备类型显示笑脸
- java 有多少api_Java常用API(二)
- 电脑的基础知识_电脑入门基础知识
- 【重要】如何彻底夯实CV基础,有三AI三大导师一起带你学习!
- 如何把控产品 — 产品管理全流程解析
- MFC中CStatic控件动态改变