首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS
订阅
wamaker
更多收藏集
微信扫码分享
微信
新浪微博
QQ
20篇文章 · 0订阅
iOS Memory 内存详解 (长文)
iOS 是基于 BSD 发展而来,所以先理解一般的桌面操作系统的内存机制是非常有必要的。在此基础之上,本文会进一步在 iOS 系统层面进行分析,包括 iOS 整体的内存机制,以及 iOS 系统运行时的内存占用的情况。最后会将粒度缩小到 iOS 中的单个 app,讲到单个 app…
iOS探索 细数iOS中的那些锁
当一个线程访问数据的时候,其他的线程不能对其进行访问,直到该线程访问完毕。简单来讲就是在同一时刻,对同一个数据操作的线程只有一个。而线程不安全,则是在同一时刻可以有多个线程对该数据进行访问,从而得不到预期的结果 锁作为一种非强制的机制,被用来保证线程安全。每一个线程在访问数据或…
iOS 优化篇 - 启动优化之Clang插桩实现二进制重排
( 本篇文章由于会从原理角度讲解 , 有些已经比较熟悉的同学可能会觉得节奏偏啰嗦 , 为了照顾大部分同学 , 大家自行根据目录跳过即可 . ) 了解二进制重排之前 , 我们需要了解一些前导知识 , 以及二进制重排是为了解决什么问题 . 在本篇文章里 , 笔者就不通过教科书或者大…
iOS项目技术还债之路《二》IAP掉单优化
上篇中我们聊了聊iOS后台下载优化,通过一个成本较低的方案达到了业务预期的效果。这篇文章继续聊一聊今年初完成的另一个优化点:IAP掉单优化。 众所周知,由于IAP相关的坑比较多,IAP有很多话题可以聊。IAP的很多行为在官方文档中并没有清晰描述,因此除了官方文档外,也建议一并阅…
iOS程序员的自我修养-MachO文件静态链接(三)
请注意,生成的a.o和b.o目标文件,都是基于arm64。a.o和b.o目标文件通过静态链接后生成可执行文件ab。(由于基于arm64,其实链接过程,也有动态链接库libSystem.B.dylib(系统库)参与,但本文忽略动态链接的参与,只讨论静态链接。要是基于X86,就不会…
iOS程序员的自我修养-MachO文件动态链接(四)
动态链接要比静态链接复杂多了,我要是直接分析MachO文件动态链接的具体实现,会让读者知其然不知其所以然。所以本文分成2部分,第一部分先讲理论知识,基本解答了如下几个问题: 动态链接产生原因、基本思想、工作过程。 position-independent code (PIC 地…
iOS探索:UI视图之卡顿、掉帧及绘制原理
当前屏幕渲染不需要额外创建新的缓存,也不需要开启新的上下文,相对于离屏渲染性能更好。但是受当前屏幕渲染的局限因素限制(只有自身上下文、屏幕缓存有限等),当前屏幕渲染有些情况下的渲染解决不了的,就使用到离屏渲染
阿里开源 iOS 协程开发框架 coobjc源码分析
昨天朋友圈被一篇文章(以下简称“coobjc介绍文章”)刷屏了:刚刚,阿里开源 iOS 协程开发框架 coobjc!。可能大部分iOS开发者都直接懵逼了: 因此笔者想给大家普及普及协程的知识,运行一下coobjc的Example,顺便分析一下coobjc源码。 协程的维基百科在…
我是如何让微博绿洲的启动速度提升30%的
绿洲iOS研发工程师,绿洲ID:收纳箱KeepFit。 0. 序言 启动是App给用户的第一印象,对用户体验至关重要。试想一个App需要启动5s以上,你还想用它么? 最初的工程肯定是没有这些问题的,但随着业务需求不断丰富,代码越来越多。如果放任不管的话,启动时间会不断上涨,最后…
关于iOS内存的深入排查和优化
虚拟内存机制在这里就不多说了,主要包括内存管理单元MMU、内存映射、分段、分页。在iOS中,一页通常有16KB的内存空间。 分配内存的时候,先分配虚拟内存,然后使用的时候再映射到实际的物理内存。 一个VM Region指的是一段连续的虚拟内存页,这些页的属性都相同。 VM分为C…