首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Objective-C
订阅
Jixin42543
更多收藏集
微信扫码分享
微信
新浪微博
QQ
12篇文章 · 0订阅
iOS代码瘦身实践:删除无用的方法
本文将提供一种静态分析的方式,用于查找可执行文件中未使用的方法,源码链接:xuezhulian/selectorsunref。 分析Mach-o文件中的__DATA __objc_selrefs段得到使用到的方法,通过otool找出实现的所有方法。取差集得到未使用的方法。然后过…
iOS 稳定性问题治理:卡死崩溃监控原理及最佳实践
通常 App 卡死时间超过 20s 之后会触发操作系统的保护机制,发生崩溃,此时在用户的设备中能找到操作系统生成的卡死崩溃日志,但是因为 iOS 系统封闭生态的关系,App 层面没有权限拿到卡死崩溃的日志。 一般而言用户遇到卡死问题的时候并没有耐心等待那么久的时间,可能在卡住 …
抖音品质建设 - iOS启动优化《原理篇》
启动是 App 给用户的第一印象,启动越慢用户流失的概率就越高,良好的启动速度是用户体验不可缺少的一环。启动优化涉及到的知识点非常多面也很广,一篇文章难以包含全部,所以拆分成两部分:原理和实践。 本文从基础知识出发,先回顾一些核心概念,为后续章节做铺垫;接下来介绍 IPA 构建…
iOS Memory 内存详解 (长文)
iOS 是基于 BSD 发展而来,所以先理解一般的桌面操作系统的内存机制是非常有必要的。在此基础之上,本文会进一步在 iOS 系统层面进行分析,包括 iOS 整体的内存机制,以及 iOS 系统运行时的内存占用的情况。最后会将粒度缩小到 iOS 中的单个 app,讲到单个 app…
iOS 性能优化实践:头条抖音如何实现 OOM 崩溃率下降50%+
OOM 其实是Out Of Memory的简称,指的是在 iOS 设备上当前应用因为内存占用过高而被操作系统强制终止,在用户侧的感知就是 App 一瞬间的闪退,与普通的 Crash 没有明显差异。但是当我们在调试阶段遇到这种崩溃的时候,从设备设置->隐私->分析与改进中是找不到…
iOS 优化篇 - 启动优化之Clang插桩实现二进制重排
( 本篇文章由于会从原理角度讲解 , 有些已经比较熟悉的同学可能会觉得节奏偏啰嗦 , 为了照顾大部分同学 , 大家自行根据目录跳过即可 . ) 了解二进制重排之前 , 我们需要了解一些前导知识 , 以及二进制重排是为了解决什么问题 . 在本篇文章里 , 笔者就不通过教科书或者大…
iOS右滑返回手势深度全解和最佳实施方案
在ios7以后,苹果推出了手势滑动返回功能,也就是从屏幕左侧向右滑动可返回上一个界面。大大提高了APP在大屏手机和iPad上的操作体验,场景切换更加流畅。做右滑返回手势配置时,可能会遇到的问题: 1. 右滑返回手势为什么失效? 2. 右滑返回手势如何全局开启及怎么避免页面卡死?…
iOS 如何抓取线程的“方法调用栈”?
本文将通过一个具体的 demo ,阐述如何进行抓栈操作。 在我们程序运行中,通常存在一个函数调用另一个函数的情况。 例如,在某个线程中,调用了 func A。在 func A 执行过程中,调用了 func B。 转移控制 :暂停 func A ,并开始执行 func B,并在 …
我是如何让微博绿洲的启动速度提升30%的
绿洲iOS研发工程师,绿洲ID:收纳箱KeepFit。 0. 序言 启动是App给用户的第一印象,对用户体验至关重要。试想一个App需要启动5s以上,你还想用它么? 最初的工程肯定是没有这些问题的,但随着业务需求不断丰富,代码越来越多。如果放任不管的话,启动时间会不断上涨,最后…
RunLoop 源码阅读
这一篇文章主要在于 Run Loop 源码的阅读,内容有点长,需要一些基础。 Run Loop 是一个 iOS 开发里的基础概念,它并非独有的机制,很多系统和框架都有类似的实现,Run Loop 是 Event Loop (事件循环)机制的在 iOS 平台的一种实现。 说到 E…