关闭
当前搜索:

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

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

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

7.1概述        虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型,这就是虚拟机的类加载机制。        在java语言中,类型的加载、连接、初始化过程都是在程序运行期间完成的,这种策略虽然会令类加载稍微增加一些性能开销,但是为java应用程序提供了高度的灵活性,java里天生可以动态扩展的语言特性就...
阅读(32) 评论(0)

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

窗口动画的加载: Activity窗口显示的过程中,除了窗口的申请,窗口大小的计算,窗口层级的设置等,还有窗口切换过程中的启动窗口的添加、销毁,窗口切换动画。 启动窗口,当一个新的Activity启动时系统可能会先显示一个启动窗口,这个启动窗口会等到Activity的主界面显示出来后消失,主要是为应用启动做一个过度。 启动窗口跟普通窗口本质上没去区别,大概列出调用流程,不过详细分析: 当需...
阅读(53) 评论(0)

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

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

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

深入理解Java虚拟机第二版学习笔记。 垃圾收集器与内存分配策略        第二章java内存运行时区域的各个部分,启动程序计数器、虚拟机栈、本地方法栈三个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出有条不紊的执行着出栈和入栈操作。每一个栈帧中分配多少内存基本是类结构确定下来时就已知的,因此这几个区域的内存分配和回收都具备确定性,不需要过多考虑回收的问题,因为方法结束或线...
阅读(41) 评论(0)

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

Surface的管理 Surface是窗口能真正显示到物理屏幕上的基础,由surfaceflinger管理,可以通过WindowStateAnimator.java中的变量mDrawState来查看每个窗口相关的surface的状态。 surface有5中状态: WindowStateAnimator.java //Surface还没有创建。 staticfinal int NO_SUR...
阅读(573) 评论(0)

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

第二章 Java内存区域与内存溢出异常 2.2 运行时数据区域        Java虚拟机在执行java程序的过程中会把它所管理的内存划分为若干不同的数据区域。 2.2.1 程序计数器        程序计数器(program Counter Register)是一块较小的内存空间,可以看做是当前线程所执行的字节码的行号指示器。字节码解释器工作时是通过改变这个计数...
阅读(29) 评论(0)

Java RandomAccessFile用法

转:http://blog.csdn.net/akon_vm/article/details/7429245 Java RandomAccessFile用法 内存映射文件 MappedByteBuffer                                RandomAccessFile RandomA...
阅读(54) 评论(0)

Java Lambda表达式入门

虽然看着很先进,其实Lambda表达式的本质只是一个"语法糖",由编译器推断并帮你转换包装为常规的代码,因此你可以使用更少的代码来实现同样的功能。本人建议不要乱用,因为这就和某些很高级的黑客写的代码一样,简洁,难懂,难以调试,维护人员想骂娘.) Lambda表达式是Java SE 8中一个重要的新特性。...
阅读(39) 评论(0)

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

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

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

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

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

窗口类型及属性。 1),Android都有那些窗口类型,定义在WindowManager.java的内部类LayoutParams中。 public static class LayoutParams extends ViewGroup.LayoutParams implements Parcelable @WindowManager.java{ //代表通常的应用程序窗口的开始。 pu...
阅读(44) 评论(0)

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

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

Android sqlite数据库连接池连接异常分析

转:http://bbs.51cto.com/thread-1113117-1.html   Android sqlite数据库连接池连接异常分析 1. 在android开发过程中,突然碰到了这个错误,数据库连接分配不到,日志如下: W/SQLiteConnectionPool( 3681): Theconnection pool for database '/data/user/0/...
阅读(101) 评论(0)

Android 7.1 GUI系统-vsync信号的处理(六)

一旦有事件发生,MessageQueue::cb_eventReceiver就会执行,进一步调用eventReceiver,如果事件类型是DisplayEventReceiver::DISPLAY_EVENT_VSYNC,开始处理UI数据的合成。 MessageQueue.cpp int MessageQueue::cb_eventReceiver(int fd, int events...
阅读(519) 评论(0)
167条 共12页首页 上一页 1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:35408次
    • 积分:1672
    • 等级:
    • 排名:千里之外
    • 原创:129篇
    • 转载:38篇
    • 译文:0篇
    • 评论:9条
    最新评论