首页
首页
沸点
课程
直播
活动
竞赛
商城
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…