自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 Flutter Engine 绘制流程源码解析

如果只看Flutter Engine里的关键绘制流程,其实并不复杂,就是一系列的Skia API调用。为了提高绘制效率,最理想的方式是找出相邻两帧的差异,只重绘差异的区域,所以加了layer层的设计,通过比较两个layer tree的不同来确定有差异的区域,然后调用SkCanvas::clipRect裁剪出这块区域,配合SkCanvas::quickReject做快速裁剪测试,从而确定哪些layer需要重绘,提高绘制性能。

2023-06-19 02:30:41 830 2

原创 Kotlin 协程 基础概念&原理分析

通过上面的分析,kotlin协程在我们面前已经毫无秘密。它并不复杂,只是一个上层框架,里面封装了一个状态机,后续会通过state多次调用同个函数,即函数,当然,在每次调用后都会保存一些所需变量,在下次调用时还原现场。函数由编译器根据suspend ()->T 实例的实际情况自动生成多个case分支,函数为我们提供了在函数中直接return,中断协程体继续执行的手段,当然,在中断前会通过成员变量保存上次运行的现场,在下次调用时能在中断的位置继续执行.

2023-06-13 01:48:12 388 1

原创 2021-11-03

使用xcode instruments 分析性能官方视频WWDC 2019 视频 Getting Started with Instruments <sys/kdebug_signpost> 使用// kdebug_signpost_start(3,0x65,0,0,0) 在instruments捕获的结果 如下图所示kdebug_signpost_start(int, int, int, int, int);kdebug_signpost_end(int, int, int, i

2021-11-03 14:26:08 250

原创 windows 使用pyenv-win 管理多python 版本

链接:GitHub - pyenv-win/pyenv-win: pyenv for Windows. pyenv is a simple python version management tool. It lets you easily switch between multiple versions of Python. It's simple, unobtrusive, and follows the UNIX tradition of single-purpose tools that do ..

2021-10-26 21:25:09 4314

空空如也

空空如也

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

TA关注的人

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