移动开发

显示框架之SurfaceFlinger GPU合成

对于不支持device合成的layer,SurfaceFlinger会采用GPU来合成,然后与device合成的layer在hwc进行同步再送给屏幕。 在SurfaceFlinger启动的时候就已经搭建好了EGL环境,具体如下: 文件:frameworks/native/services/surfaceflinger/SurfaceFlinger.cpp void SurfaceFlinger:

Android四大组件的工作过程

一、Activity启动过程 应用冷启动过程: Launcher进程通过Binder机制通知AMS创建应用 AMS判断当前应用是否启动,没有启动通过Socket通讯通知Zygote进程fork应用进程 AMS通过Binder机制请求ApplicationThread创建并启动根Activity ApplicationThread通过Handle机制通知主线程ActivityThre

【MySQL】在CentOS7环境下----手把手教你安装MySQL详细教程(附带图例详解!!)

目录一、前言二、安装前的环境检查三、下载官方的 MySQL 安装包四、开始安装 MySQL 五、尝试初次启动 MySQL六、给MySQL 做一些简单的小配置七、共勉一、前言         本次专题将带大家进入一个新的专题 ---- MySQL。作为本次专题的第一篇博客,肯定是带大家一起在Linux环境下安装、配置和使用MySQL。整个过程肯定是手把手的带着大家一起完成&#xff

macOS 26完美恢复启动台

前言近日,苹果推出了Mac os26操作系统的第一个开发者测试版本,很多人都已经升级了!但升级之后呢?,发现系统没有启动台,这是晴天霹雳,早就用惯了苹果启动台的用户特别不习惯!下面呢,就用一行代码把启动台弄回来!\输入命令 sudo mkdir -p /Library/Preferences/FeatureFlags/Domain sudo defaults write

DDD碎片记录 03. 贫血模型与充血模型

将业务领域模型转换为程序设计 一般有2种设计思路:贫血模型,充血模型 所谓贫血模型,就是在软件设计中有很多POJO对象,他们除了get/set方法,基本没有任何业务逻辑。 vip会员的贫血模型的设计图 如vip会员的贫血模型的设计图所示,在领域模型中,有vip会员的领域对象,该对象除了有一堆属性之外,还有会员打折,会员福利,会员特权等方法。 如果将该领域模型按照贫血模型设计,就会设计

如何查看Mac的处理器架构‌‌是ARM还是x86

‌通过命令行查看Mac的处理器架构‌‌ 打开终端(Terminal)。 输入命令 uname -m 并回车。 如果输出结果是 arm64,则表示你的Mac使用的是ARM架构;如果输出结果是 x86_64,则表示你的Mac使用的是x86架构。 如图:‌解释ARM和x86架构的区别‌ ‌ARM架构‌:AR

iOS知识复习笔记(16)---swift相关

一、函数的派发方式 swift函数的派发机制有三类:static直接派发(静态)派发、table函数派发,message消息派发。 直接派发也称为静态派发,指令集少,还会进行编译优化(函数内联) 2.函数派发是实现动态行为最常见的方式,通过函数表里面的数组来存储类声明的每个函数指针,称为vitual table, swift里叫witness table 3.消息派发其实就是oc那套消息发送了

Android跨进程通信: Binder 进程间通信机制解析

文章目录 深入解析 Android Binder 进程间通信机制 一、为什么需要 Binder? Binder 的核心优势 二、Binder 的整体架构与核心角色 四大核心角色 架构示意图(建议图示) 三、Binder 的核心概念详解 3.1 Binder 实体与 Binder 引用 3.2 内存映射(