-
思路Ping主线程的核心思想是向主线程发送一个信号,一定时间内收到了主线程的回复,即表示当前主线程流畅运行。没有收到主线程的回复,即表示当前主线程在做耗时运算,发生了卡顿。
具体实现目前昆虫线上使用的就是这套方案。
12345678910111213...
-
思路Ping主线程的核心思想是向主线程发送一个信号,一定时间内收到了主线程的回复,即表示当前主线程流畅运行。没有收到主线程的回复,即表示当前主线程在做耗时运算,发生了卡顿。
具体实现目前昆虫线上使用的就是这套方案。
12345678910111213...
-
RunLoop 原理
RunLoop 在 iOS 里由 CFRunLoop 实现。简单来说,RunLoop 是用来监听输入源,进行调度处理的。
这里的输入源可以是输入设备、网络、周期性或者延迟时间、异步回调。
RunLoop 会接收两种类型的输...
-
监控 FPS
一般来说,我们约定 60FPS 即为流畅,那么反过来,如果App在运行期间出现了掉帧,即可认为出现了卡顿。
监控FPS方案一般是基于 CADisplayLink 实现的。CADisplayLink 是一个和屏幕刷新率保持一致的定时器,...
-
多环境配置
Project : 包含了项目所有的代码、资源文件和所有信息。
Target : 对指定代码和资源文件的具体构建方式。
Scheme : 对指定的Target的环境配置
在实际开发中,我们必须要进行网络请求(内网和外网),而网络请求则就...
-
前言swift 多环境配置和 oc 类似,本文主要介绍 Scheme 和 xcconfig 多环境配置
第一种方式:Scheme
首先我们要了解到 Scheme 默认是有两种环境变量 Debug 和 Release,可以在 Edit Scheme -...
-
常用数据类型
Numbers(数值):
int
double
Strings(字符串):
String
Booleans(布尔):
bool
List(数组):
在dart中,数组是列表对象,所以大多数人只是称它们为列表
Ma...
-
入口方法入口方法有两种方式:
第一种
123main() { print('hello dart')}
第二种
1234// 表示main方法没有返回值void main() { ...
-
-
前言
Git 是一款免费、开源的 分布式版本控制系统
GitHub/Gitee(码云)/Gitlab(极狐) 用 Git 做版本控制的项目托管平台
安装Git官网 选择自己对应的系统安装,安装完成后在终端执行 git version,输出 g...