4 Android显示系统之SurfaceFlinger合成


Android系统启动回顾从按下电源键到 launcher 显示流程如下SurfaceFlinger 创建流程从App图标点击到一个 Activity 展示在屏幕上流程又该是如何呢,这就涉及到 SurfaceFlinger 了先看看 SurfaceFlinger 启动流程:​在 Android显示系

3 Android显示系统之Surface


内容Surface 是什么Surface是Android图形系统的核⼼部分, 图形界⾯上的⼀个窗⼝或对话框等都对应着⼀个 Surface。而这个Surface是⼀块绘制区域的抽象,它对应着Server服务端Surfacelinger中的⼀个图 层Layer,这个图层的背后是⼀块图形缓冲区Graphi

2 Android显示系统之View体系的渲染


内容概述众所周知, 在Android中每⼀个Activity的展示的载体都是PhoneWindow, 包括顶部的状态栏与底 部的导航栏也都是系统的Window。 而Window作为ViewTree的载体, 内部的展示由ViewTree来实 现。所以展示的组织结构是这样的:由上图可⻅, 在Androi

1 显示系统基础


利⽤VBI时期出现的vertical sync pulse(垂直同步脉冲)来保证双缓冲在最佳时间点 才进⾏交换。另外,交换是指各⾃的内存地址,可以认为该操作是瞬间完成。

安卓显示系统


左侧的对象是生成图形缓冲区的渲染器,如主屏幕、状态栏和系统界面。SurfaceFlinger 是合成器,而硬件混合渲染器是混合渲染器。

Try、Catch、Finally

Java 

大家都知道是按顺序执行的。即,如果try中没有异常,则顺序为try→finally,如果try中有异常,则顺序为try→catch→finally。但是当try、catch、finally中加入return之后呢?

图解 Kotlin 协程原理

Kotlin 

协程(Coroutines),是 Kotlin 「最神奇」 的特性,没有之一。

volatile关键字在单例模式(双重校验)中的作用

Java 

双重检查锁定背后的理论是完美的。不幸地是,现实完全不同。双重检查锁定的问题是:并不能保证它会在单处理器或多处理器计算机上顺利运行。所以需要 volatile

利用公网 ipv6 远程控制Windows,同时利用阿里云开启 ddns 动态更新ipv6 解析


获取被控 ipv6win+r 输入 mstsc 打开远控 app、输入 ipv6确定即可连接,再利用 ddns 动态解析做一个脚本

光猫改桥接+openwrt 开启公网 ipv6


光猫改桥接一般光猫有两个角色,光纤的光电转换 + pppoe拨号上网,负担很重。而且这样路由器下的二级连接获取不到公网ip了,浪费路由器的性能比较好的方案是光猫改桥接,只做光电调节器,拨号交给路由器,这样子路由器的设备就可以获取公网 ipv6了获取光猫超级管理员密码记录原光猫信息pppoe账号密码、