首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
底层
订阅
烤鱼君快熟了
更多收藏集
微信扫码分享
微信
新浪微博
QQ
17篇文章 · 0订阅
iOS应用的启动流程和优化详解
一、应用启动流程1、整体过程(1)解析Info.plist加载相关信息,例如如闪屏沙箱建立、权限检查(2)Mach-O(可执行文件)加载如果是胖二进制文件(为了保持向下兼容,且支持旧有设备及旧有指令集
【iOS内功】如何排查无法复现的系统内部Crash?
苹果每年都会升级iOS系统,可能会对系统库进行逻辑改动。我们自己工程里有些代码你可能几年没动过,但系统一升级就会出现奇怪的Crash。今天介绍一个案例,iOS13.3升级后,导致工程里某个方法签名会引发NSInvocation内部的数组越界。因为一直无法完美复现,最后经过多次假…
记 os_object_release Crash 排查
Crash 信息 线上存在一个持续很久的 Crash,由于没有明确业务栈且量级不算大,让它成为了老赖之一,Crash 栈是这样的: 由于不能明确是哪个业务代码引起的,所以先确认 Crash 的对象是哪
YYModel 源码剖析:关注性能
json与模型的转换框架很多,YYModel 一出,性能吊打同类组件,终于找了些时间观摩了一番,确实收益颇多,写下此文作为分享。 由于该框架代码比较多,考虑到突出重点,压缩篇幅,不会有太多笔墨在基础知识上,很多展示源码部分会做删减,重点是在理解作者思维。读者需要具备一定的 ru…
iOS 如何高效的使用多线程
多线程技术在移动端开发中应用广泛,GCD 让 iOS 开发者能轻易的使用多线程,然而这并不意味着代码就一定高效和可靠。深入理解其原理并经常结合业务思考,才能在有限的线程控制 API 中最大化发挥并发编程的能力,也能轻易的察觉到代码可能存在的安全问题并优雅的解决它。 本文不会讲解…
iOS-1.对象alloc的流程分析
alloc & init & new 源码分析 alloc底层都做了哪些 init源码 new的源码
深入研究Block用weakSelf、strongSelf、@weakify、@strongify解决循环引用
前言 在上篇中,仔细分析了一下Block的实现原理以及__block捕获外部变量的原理。然而实际使用Block过程中,还是会遇到一些问题,比如Retain Circle的问题。 目录 1.Retain Circle的由来 2.__weak、__strong的实现原理 3.wea…
iOS:组件化的三种通讯方案
组件化 本文主要介绍组件化常用三种通讯方式. 常⽤的三种组件化通讯方案 组件化通信方案 组件化最重要的是兄弟模块的通讯 常⽤的三种方案 URL Scheme Target - Action Proto
iOS 优化篇 - 启动优化之Clang插桩实现二进制重排
( 本篇文章由于会从原理角度讲解 , 有些已经比较熟悉的同学可能会觉得节奏偏啰嗦 , 为了照顾大部分同学 , 大家自行根据目录跳过即可 . ) 了解二进制重排之前 , 我们需要了解一些前导知识 , 以及二进制重排是为了解决什么问题 . 在本篇文章里 , 笔者就不通过教科书或者大…
iOS逆向--MachoO文件
我们发现有4种架构。再拆分出armv7架构: 说明合并成功了,当然不仅仅是两个,可以多个macho文件合成一个,我们可以通过这种方式来分析可执行文件的单一架构。 header:包含该二进制文件的一般信息,最开始读取的部分,例如字节顺序、架构类型、加载指令的数量等。类似于一本书的…