首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS
订阅
初墨
更多收藏集
微信扫码分享
微信
新浪微博
QQ
14篇文章 · 0订阅
Flutter - 疫情实况,加油武汉
分为个人防护、知识百科。
iOS底层探索--内存管理
1. 五大分区 在一个4G内存的移动设备中,内核区约占1GB。 内存分区:代码段、数据段、BSS段,栈区,堆区。栈区地址一般为0x7开头,堆区地址一般为0x6开头。数据段一般0x1开头。 BSS段:未初始化的全局变量,静态变量,程序结束后有系统释放。 数据段:初始化的全局变量,…
iOS探索 细数iOS中的那些锁
当一个线程访问数据的时候,其他的线程不能对其进行访问,直到该线程访问完毕。简单来讲就是在同一时刻,对同一个数据操作的线程只有一个。而线程不安全,则是在同一时刻可以有多个线程对该数据进行访问,从而得不到预期的结果 锁作为一种非强制的机制,被用来保证线程安全。每一个线程在访问数据或…
深入研究Block捕获外部变量和__block实现原理
前言 Blocks是C语言的扩充功能,而Apple 在OS X Snow Leopard 和 iOS 4中引入了这个新功能“Blocks”。从那开始,Block就出现在iOS和Mac系统各个API中,并被大家广泛使用。一句话来形容Blocks,带有自动变量(局部变量)的匿名函数…
iOS RunLoop详解
Runloop 是和线程紧密相关的一个基础组件,是很多线程有关功能的幕后功臣。尽管在平常使用中几乎不太会直接用到,理解 Runloop 有利于我们更加深入地理解 iOS 的多线程模型。 本文从如下几个方面理解RunLoop的相关知识点。 可见,一个RunLoop对象,主要包含了…
一道Block面试题的深入挖掘
0. 序言 最近看到了一道Block的面试题,还蛮有意思的,来给大家分享一下。 本文从一道Block面试题出发,层层深入到达Block原理的讲解,把面试题吃得透透的。 很多人觉得Block的定义很怪异,很难记住。但其实和C语言的函数指针的定义对比一下,你很容易就可以记住。 1.…
iOS底层学习 - 多线程之中的锁🔐
锁 -- 是保证线程安全常见的同步工具。锁是一种非强制的机制,每一个线程在访问数据或者资源前,要先获取(Acquire) 锁,并在访问结束之后释放(Release)锁。如果锁已经被占用,其它试图获取锁的线程会等待,直到锁重新可用。 前面说到了,锁是用来保护线程安全的工具。 可以…
IOS面试考察(九):性能优化相关问题
1. IOS面试考察(九):性能优化相关问题 APP的启动时间,直接影响用户对你的APP的第一体验和判断。如果启动时间过长,不单单体验直线下降,而且可能会激发苹果的watch dog机制kill掉你的APP,那就悲剧了,用户会觉得APP怎么一启动就卡死然后崩溃了,不能用,然后长…
iOS Runtime(一) Runtime的应用
例子Demo 概述 Objc Runtime使得C具有了面向对象能力,在程序运行时创建,检查,修改类、对象和它们的方法。Runtime是C和汇编编写的,这里http://www.opensource.apple.com/source/objc4/可以下到苹果维护的开源代码,GN…
RunLoop的前世今生
日常的开发工作中,我们几乎很少注意RunLoop,因为我们基本上“用不到”RunLoop。包括我在内应该有很多人都不了解这个东西,只是听说过。最近有空查了不少资料终于把RunLoop运行原理搞清楚了。 本文会对RunLoop的原理进行深入探讨,但是不涉及底层的实现。 我们通过R…