lin20080410的专栏

从站在巨人的肩上,向成为巨人迈进... 互相学习!

Android GUI系统-ViewTree遍历过程(五)

ViewTree的遍历过程performTraversals。遍历过程主要对应三个函数performMeasure(计算大小),perforLayout(计算位置),performDraw(绘制内容)。具体看下这三个步骤执行的条件,及怎么执行的?1)performMeasureprivate vo...

2017-12-28 21:25:17

阅读数:109

评论数:0

深入理解Java虚拟机-Java内存模型与线程(12)

深入理解Java虚拟机 学习笔记 第十二章 java内存模型与线程 在许多情况下,让计算机同时去做几件事情,不仅是因为计算机的运算能力强大了,还有一个很重要的原因是计算机的运算速度与它的存储和通信子系统速度的差距太大,大量的时间都花费在磁盘I/O、网络通信或者数据库访问上。   12....

2017-12-28 10:56:41

阅读数:98

评论数:0

Android GUI系统-ViewTree的遍历(四)

那些情况会引起ViewTree的遍历 1)应用程序刚启动时,会在构造出整棵ViewTree后,执行第一次遍历。 public void setView(View view, WindowManager.LayoutParams attrs, View panelParentView) @...

2017-12-26 07:09:08

阅读数:95

评论数:0

Android GUI系统-ViewTree的管理者(三)

作为ViewTree的管理者ViewRoot,是怎么工作的。一,ViewRootImpl跟WMS间的通信ViewRootImpl.java在构造的时候,需要建立跟WMS的通信的双向通道:ViewRootImpl –>WMS:IwindowSessionWMS →ViewRoo...

2017-12-24 18:16:01

阅读数:93

评论数:0

Android GUI系统-ViewTree的创建(二)

View树的创建过程当AMS通知应用进程来启动一个Activity任务时,最终这个请求会转化为ActivityThread中的一个消息LAUNCH_ACTIVITY,同类型的消息还是RESUME_ACTIVITY,PAUSE_ACTIVITY等。主线程ActivityThread对这个LAUNCH...

2017-12-21 22:38:36

阅读数:111

评论数:0

深入理解Java虚拟机-虚拟机字节码执行引擎(八)

虚拟机字节码执行引擎    在不同的虚拟机实现里面,执行引擎在执行Java代码的时候可能会有解释执行(通过解释器执行)和编译执行(通过即时编译器产生本地代码执行)两种选择,也可能两者兼备,甚至还可能会包含几个不同级别的编译器执行引擎。但从外观上看起来,所有的Java虚拟机的执行引擎都是一致的:输入...

2017-12-21 17:31:27

阅读数:129

评论数:0

Android GUI系统-View框架(一)

View框架相关元素的关系:1)View和ViewRoot,ViewRoot可以理解为View树的管理者,是ViewRootImpl类型的对象,Activity和ViewRoot是一对一的关系,他有一个成员变量mView,是View树的根,也就是xml布局的顶层元素,ViewRoot的核心任务是跟...

2017-12-20 07:32:11

阅读数:169

评论数:0

Android 7.1 GUI系统-窗口管理WMS-动画的执行(七)

前面只是动画资源的加载过程,下面看下动画是怎么执行起来的?前面在分析窗口申请的过程中,分析过relayoutWindow中的调用performSurfacePlacement,在这个函数的最后调用了mService.scheduleAnimationLocked(),来安排动画的执行。void s...

2017-12-19 22:01:06

阅读数:168

评论数:0

深入理解Java虚拟机-虚拟机类加载机制(四)

7.1概述      虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型,这就是虚拟机的类加载机制。      在java语言中,类型的加载、连接、初始化过程都是在程序运行期间完成的,这种策略虽然会令类加载稍微增加一些性能...

2017-12-19 16:09:59

阅读数:66

评论数:0

Android 7.1 GUI系统-窗口管理WMS-窗口动画、应用动画的加载(六)

转载两篇矢量动画的文章,做个记录:矢量图形与矢量动画  https://blog.csdn.net/aqi00/article/details/54944816Android-矢量动画技巧  https://blog.csdn.net/z82367825/article/details/60574...

2017-12-17 23:20:04

阅读数:182

评论数:0

Android 7.1 GUI系统-窗口管理WMS-窗口大小计算(五)

窗口大小的计算一个应用窗口,除了应用程序本身的内容外,还有状态栏,可能还有输入法窗口,状态栏的大小是固定的,输入法窗口可以在AndroidManifest.xml中配置,相关属性如下:以state开头的表示当Activity成为焦点时软键盘是隐藏还是可见,以adjust开头的表示如何调整Activ...

2017-12-16 22:44:01

阅读数:264

评论数:0

深入理解Java虚拟机-垃圾收集器与内存分配策略(三)

深入理解Java虚拟机第二版学习笔记。 垃圾收集器与内存分配策略        第二章java内存运行时区域的各个部分,启动程序计数器、虚拟机栈、本地方法栈三个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出有条不紊的执行着出栈和入栈操作。每一个栈帧中分配多少内存基本是类结构确定下来时...

2017-12-14 19:42:16

阅读数:87

评论数:0

Android 7.1 GUI系统-窗口管理WMS-Surface管理(四)

Surface的管理 Surface是窗口能真正显示到物理屏幕上的基础,由surfaceflinger管理,可以通过WindowStateAnimator.java中的变量mDrawState来查看每个窗口相关的surface的状态。 surface有5中状态: WindowStateAni...

2017-12-13 23:27:32

阅读数:1039

评论数:0

深入理解Java虚拟机-Java内存区域与内存溢出异常(二)

第二章 Java内存区域与内存溢出异常 2.2 运行时数据区域        Java虚拟机在执行java程序的过程中会把它所管理的内存划分为若干不同的数据区域。 2.2.1 程序计数器        程序计数器(program Counter Register)是一块较小的内存空间,...

2017-12-13 19:02:14

阅读数:76

评论数:0

Java RandomAccessFile用法

转:http://blog.csdn.net/akon_vm/article/details/7429245 Java RandomAccessFile用法 内存映射文件 MappedByteBuffer                                RandomAcces...

2017-12-13 09:41:40

阅读数:102

评论数:0

Java Lambda表达式入门

   Java Lambda表达式入门原文链接: Start Using Java Lambda Expressions下载示例程序 Examples.zip 。原文日期: 2014年4月16日翻译日期: 2014年4月27日翻译人员: 铁锚简介(译者注:虽然看着很先进,其实Lambda表达式的本...

2017-12-12 18:22:05

阅读数:77

评论数:0

深入理解Java虚拟机第二版学习笔记(一)

深入理解Java虚拟机第二版学习笔记。 第一章,       走进Java。 1.2 Java技术体系 Sun官方定义的Java技术体系包括以下几个组成部分: Java程序设计语言; 各种硬件平台上的Java虚拟机; Class文件格式; Java API类库; 来自商业机构和开源...

2017-12-12 18:09:26

阅读数:326

评论数:0

Android 7.1 GUI系统-窗口管理WMS-窗口添加(三)

窗口的添加过程。Android中窗口通常分为两大类,一是系统窗口,一是应用窗口。添加的过程上,WMS不会特别区分这两类窗口,只是在权限和层级有差别。1)系统窗口的添加,以状态栏为例。private void addStatusBarWindow() @PhoneStatusBar.java{ //...

2017-12-11 22:44:26

阅读数:134

评论数:0

Android 7.1 GUI系统-窗口管理WMS-窗口属性(二)

窗口类型及属性。 1),Android都有那些窗口类型,定义在WindowManager.java的内部类LayoutParams中。 public static class LayoutParams extends ViewGroup.LayoutParams implements Pa...

2017-12-09 11:23:36

阅读数:165

评论数:0

Android 7.1 GUI系统-窗口管理WindowManagerService(一)

一,WindowManagerService窗口管理员。什么是窗口?直观的看是一个界面,比如桌面,比如打开的一张照片。从SurfaceFlinger的角度看,它是一个layer,当向surfaceflinger申请一个surface时,实际是创建了一个layer,承载着跟窗口有关的数据。从Wind...

2017-12-06 22:08:38

阅读数:485

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭