移动开发

JS中的this指向

this的概念: 在js中,this的意思为“这个;当前”,是一个指针型变量,它动态指向当前函数的运行环境。 在不同的场景中调用同一个函数,this的指向也可能会发生变化,但是它永远指向其所在函数的真实调用者;如果没有调用者,就指向全局对象window。 普通函数:关于this,谁调用就指向谁,没有调用者,就指向全局对象window。 箭头函数:箭头函数的this指向于函数作用域所用的对象。

浅谈PAG与Lottie对比

1、工作过程 Lottie: 设计师使用 AE 设计好动画, 通过 bodymovin 插件将 AE 工程文件导出为 json 文件,在客户端(使用 Lottie SDK)解析,最后通过各平台原生渲染方案进行渲染,其中在 Android 平台上通过 Canvas 进行绘制,在 iOS 上通过 CALayer 进行绘制,在 web 端支持 SVG、Canvas 和 HTML 绘制。 PAG: 设计师

Windows 刷新按钮是如何工作的?

今天我们来聊聊 Windows 刷新按钮是如何工作的? 在当前,遵循相同的过程,但照片现在保存在数字压缩文件中,该文件具有 MP4 或 MKV 等扩展名。 它使视频便携,我们可以在我们的电脑上打开它。 因此,将您的操作系统生成的帧视为图像。 帧一个接一个地显示在屏幕上,让您感觉一切都是连续的。 每个框架都包含不同的 UI(用户界面)组件,例如背景、图标及其名称。 构建每个框架时,所有组件都放置在其

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

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

显示框架之SurfaceFlinger GPU合成

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

iOS开发集成framework、Bundle文件获取

一、前言         有些时候,我们开发的SDK并不需要对外隐藏,那么就可以将源码都打包给对方,也可以集成cocopods仓库,供外部使用。但有些时候,出于版权等原因,我们提供的代码只希望对方能够正常使用,却不希望对方看到内部的实现细节,就像苹果官方一样,给我们开发者提供的API只能看到.h文件以及相关的文档,这就是我们今天要实现的,也是苹果官方提供给我们的.framework。如果对SDK开

runtime & 消息发送流程(重磅)

runtime & 消息发送流程 (重磅) 本文主要关于imp的查找流程,在这之前先走个铺垫 类的走位链 对象 的 isa 指向 类(也可称为类对象) 类 的 isa 指向 元类 元类 的 isa 指向 根元类,即NSObject 根元类 的 isa 指向 它自己 首先拓展一下类的结构 objc_class、objc_object、isa、object、NSObject

Android10.0 SystemUI—keyguard锁屏加载分析

学习笔记:参考资源 一、流程概述 1、SystemUI启动完成后,进入的第一个界面为锁屏界面。 2、锁屏keyguard属于SystemUI。 3、锁屏开机大致分为两部分,第一部分是从WindowManagerService开始,处理锁屏显示等流程。第二部分是KeyguardVi

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

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