自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (2)
  • 收藏
  • 关注

原创 Android之WMS篇(五)窗口绘制的过程

WindowSurfaceController才是用来绘制的的SurfaceControl.前边的博客中讲过在addChild的过程中Window会创建对应的SurfaceControll这些SurfaceControl都是CONTAINER类型,只有这里的WindowSurfaceController它是BLAST用于绘制的。在上篇博客中提到WMS的addWindow方法中将Window对应的WindowToken和WindowState挂载到窗口层级树上,它们只是内存中的对象并没有做窗口绘制的动作。

2024-07-22 21:50:30 1087

原创 Android之WMS篇(四) App端窗口添加过程

其中App进程中调用WindowManager的addView方法后经过Session跨进程调用后到WMS中将需要添加的Window的WindowToken和WindowState挂载到窗口层级树中对应的层级上.我们添加的是一个系统级别的窗口,Window的token=null,需要new 一个WindowToken,在WindowToken build的过程会根据。到此,Window对应的WindowToken和WindowState已经成功的挂载到窗口层级树对应的层级上。

2024-07-17 22:29:18 890

原创 Android之WMS篇(三)窗口层级结构树挂载Child

RootWindowContainer中的setWindowManager方法执行完成整个窗口层级树只是大体结构完成,我们平时看到的Activity,StatusBar,NavigationBar及应用中执行WindoManager.addView方法过程的addWidow都还没有添加到窗口层级树中setWindowManager方法执行完成后App端在运行过程中add的Window具体有以下几个:Task,ActivityRecord,WindowToken,WindowState等等1.RootTa

2024-07-16 22:43:14 740

原创 Android之WMS篇(二)窗口层级结构树构建

每个Feature都会有一个nName,mId和mLayer,mLayer是个boolean的数组,在Featuer build之前都会设置通过mLayer设置为true标记出该Feature可以涉及到layer。遍历5个Feature,并通过创建Feature时设置的每个Feature可以管理的层级,最后构成了下图的PendingArea树。使用Feature的原因是每个Feature都是代表一种特定的功能,这样便于对不同功能的窗口进行管理。

2024-07-15 22:15:00 497

原创 Android之WMS篇(一)窗口层级结构树

在Android系统中,TopBar,NavigationBar属于SystemUI应用,HomeActivity属于Launcher应用,这些不同应用的Window是怎么样正确的显示和管理的,这里就需要引入窗口层级树这个概念。这里打印了一堆看不懂的东西,其实他就是Android模拟器启动后的窗口层级结构,他显示出来就是下图。2.dumpsys 命令转化成窗口层级树。

2024-07-15 22:14:43 286

原创 Android Studio导入系统源码

1、pull source code,全部编译完成2、build/envsetup.sh3、“lunch”,并选择要编译的项目4、编译idegen:mmm development/tools/idegen/5、development/tools/idegen/idegen.sh执行成功之后会在根目录下生成android.iml、android.ipr6、导入“android.ipr”,这里需要等一会可以在导入android.ipr之前修改android.iml,我这里未作任何直接导入,后边在

2022-05-25 22:14:56 640 2

原创 Android多指控制B协议

此篇文章基于Android Q源码进行剖析,分析Android启动过程的Zygote进程。一、概述Zygote进程是由init进程通过解析init.zygote.rc文件创建的,zygote对应的可执行程序app_process,所对应的源文件是App_main.cpp,进程名为zygoteservice zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server class main

2022-05-25 12:32:04 965

原创 getevent命令解析

1.getevent命令使用一般都是通过Help来查询命令的使用方法,getevent命令也不例外130|generic_x86:/ $ getevent -hUsage: getevent [-t] [-n] [-s switchmask] [-S] [-v [mask]] [-d] [-p] [-i] [-l] [-q] [-c count] [-r] [device] -t: show time stamps -n: don't print newlines -s: pr

2022-05-24 22:21:12 4457

原创 Centos下安装Anaconda

Anaconda:是一个开源的Python发行版,其包含了conda,Python等180多个科学包及其依赖项。Anaconda利用工具/命令conda来进行package和environment的管理,并且已经包含了python和相关的配套工具Centos下安装Anaconda步骤: 1、下载Anaconda: 下载地址:https://mirrors.tuna.tsinghua.edu...

2018-07-31 10:41:28 5887

原创 Centos7.0.x防火墙基础

Centos7.0.x他的防火墙默认使用firewall关于防火墙的简单使用 1、直接使用自带防火墙firewall 1)启动防火墙: 2)关闭防火墙: 3)开启端口: 其中参数含义: –zone:作用域 –add-port=80/tcp:添加端口号,格式为:端口号/通讯协议 –permanent:永久生效,没有此参数重启失效 4)重启防火墙: 5)常用命令...

2018-07-27 16:18:21 581

原创 Centos7网络重启失败

Centos修改了/etc/sysconfig/network-scripts/ifcfg-enss33文件后,重启网络会失败 重启网络命令:systemctl restart network.service 或者/etc/init.d/network restart 出现如下错误: 根据提示查看网卡提示信息: 查看日志文件: cat /var/log/messages | grep...

2018-07-27 16:02:46 8427 5

原创 Linux虚拟机安装

博主这里用的虚拟机是VMwareWorkstation12中文版的,Linux是CentOS-6.5 安装步骤: Step1: 点击创建虚拟机: Step2: 选择配置类型,有两种配置类型:典型和自定义,一般选择典型就可以了 选好配置类型点击“下一步” Step3: 选择安装镜像文件 点击浏览选择文件安装文件存放位置 ...

2018-06-13 21:30:38 347

原创 Vim编辑器python自动补全

step 1: 检查~用户目录下是否存在.vim文件夹和.vimrc文件 如果不存在,创建.vim文件夹和.vimrc文件 命令如下: 创建.vim文件夹 mkdir -p .vim 创建.vimrc文件 touch .vimrcstep 2: 下载Pydiction插件,不需要安装,所以不存在任何依赖问题。 ...

2018-05-18 09:41:10 1726

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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