常见的数组去重方案大概有以下几种,我们对这几种进行比较,看看谁的效率更好:首先随机生成长度为1000的数组: 第一种,利用Set特性进行去重(速度快,但无法保证数组的顺序) ...
常见的数组去重方案大概有以下几种,我们对这几种进行比较,看看谁的效率更好:首先随机生成长度为1000的数组: 第一种,利用Set特性进行去重(速度快,但无法保证数组的顺序) ...
市面上的iOS卡顿分析方案有三种:监控FPS、监控RunLoop、ping主线程。 前面2个都比较熟悉,第三个是最近才了解到的。 方案一:监控FPS 一般来说,我们约定60F...
Category是我们在开发中经常用到的,它可以在我们不改变原有类的前提下来动态地给类添加方法,通过这篇文章,我们一起来了解一下Category。下面我们列一下本文目录,...
编译的过程[https://www.jianshu.com/p/2211011e8c10]编译的产物[https://www.jianshu.com/p/795ae08ddf...
如图:内存五大区由高到底分别为:桟区、堆区、全局区、常量区、代码区,全局区又分为.bss(未初始化)、.data(初始化) 内核区:主要是处理内核模块,比如我们的系统内存为4...
前言 2019 Google I/O 大会,google就推出Provider,成为官方推荐的状态管理方式之一,Flutter 状态管理一直是个很热门的话题,而且状态管理的库...
随着 Flutter 的发展,这些年 Flutter 上的状态管理框架如“雨后春笋”般层出不穷,而近一年以来最受官方推荐的状态管理框架无疑就是 Riverpod ,甚至已经超...
swift进阶 学习大纲[https://www.jianshu.com/p/0fc67b373540] 上一节[https://www.jianshu.com/p/83ad...
Git Flow 的概念 在使用Git的过程中如果没有清晰流程和规划,否则,每个人都提交一堆杂乱无章的commit,项目很快就会变得难以协调和维护。Git版本管理同样需要一个...
安装 oh-my-zsh在终端输入命令:sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/m...
知 识 点 / 超 人 可以参考一下我自己的开源库[https://github.com/xkftkffz/HYJADCrash]是如何设置cocoapods的 目录一、使用...
1.在原生的iOS工程里面,嵌套了flutter模块,进行打包时,报以下错误: ld: bitcode bundle could not be generated becau...
在软件工程中,(引自维基百科)设计模式[https://zh.wikipedia.org/wiki/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F_...
一、基本概念 ios中的锁主要可以分为两大类,互斥锁 和 自旋锁,其他锁都是这两种锁的延伸和扩展。 1、介绍 互斥锁:属于sleep-waiting类型的锁,线程A获取到锁,...
在Objective-C中调用方法,其实是调用objc_msgSend()函数。 这个函数会先进行快速查找,也就是从方法缓存中查找,并且这个快速查找过程是直接由汇编实现的; ...
Method Swizzing方法交换,在Objective-C中使用还是比较常见的,要搞清它的本质,要首先理解方法的本质。 一、方法的本质 Objective-C中,方法是...
为了解决内存安全和效率问题,现在的计算机和操作系统引入了虚拟内存和物理内存,这里不做详述。我们主要探讨,通过原理,找到优化App的方案。 虚拟内存的工作原理:引用了虚拟内存后...
前言 最近遇到一些内存相关crash,排查问题过程中产生对进程内整个地址空间分布的疑惑。搜查了一番资料,网上关于Linux进程地址空间分布的介绍比较详细,但是iOS实际运行效...