移动开发

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

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

请卸载xshell,一款国产的终端工具,界面漂亮,功能强大,支持win,mac,linux平台,安全免费

在日常的开发工作中,终端是我们不可或缺的工具之一,特别是运维人员,链接远程服务器,终端工具必不可少。今天,我要为大家推荐一款高效、实用的国产终端工具——小皮终端(XiaoPi Terminal)。它拥有简洁的界面、强大的功能,并且能够为开发者提供更加便捷的命令行操作体验。如果你正在寻找一

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

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

显示框架之SurfaceFlinger GPU合成

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

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

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

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

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

配置MySQL环境变量

一、打开高级系统设置   在 Windows 设置中,搜索“高级系统设置”,点击进入。这一步是进入系统属性设置的入口,后续很多系统相关的高级配置都可以在这里进行。   打开高级系统设置   二、进入环境变量设置界面   在“系统属性”窗口中,切换到“高级”选项卡,点击“环境变量(N)...”按钮。这里可以对用户变量和系统变量进行

浅谈PAG与Lottie对比

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

JS中的this指向

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