首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS-性能优化
订阅
火星抄手
更多收藏集
微信扫码分享
微信
新浪微博
QQ
11篇文章 · 0订阅
iOS 优化 - 启动优化
前言 Hi Coder,我是 CoderStar! 距离上次发完年终总结已经有将近一个月的时间,这一个月来也面试了将近 40 位候选人,或多或少有了一些感想,后面会单独发篇文章跟大家聊一聊这个话题。
iOS应用的启动流程和优化详解
一、应用启动流程1、整体过程(1)解析Info.plist加载相关信息,例如如闪屏沙箱建立、权限检查(2)Mach-O(可执行文件)加载如果是胖二进制文件(为了保持向下兼容,且支持旧有设备及旧有指令集
NSCache-最佳的缓存方式
NSCache是一个类似NSDictionary一个可变的集合。 提供了可设置缓存的数目与内存大小限制的方式。 保证了处理的数据的线程安全性。 缓存使用的key不需要是实现NSCopying的类。 当内存警告时内部自动清理部分缓存数据。 该属性默认为True , 表示在内存销毁…
WWDC 2018:Network.framework 入门,现代化 Socket 编程的新选择
说起 Socket ,我回头望了一眼书架上厚厚的 UNIX 网络编程 卷1: 套接字联网 API(第 3 版) ,而她的姊妹进程间通信我连塑封膜都没拆开。的确,这套最早来自 BSD 的 API 很让人头疼。虽然她们依然是跨平台程序的最佳选择,但是我想应该没有哪个小伙伴在项目中会…
iOS 内存泄漏排查方法及原因分析
首先,我们需要检查我们的App有没有内存泄漏,并且快速定位到内存泄漏的代码。目前比较常用的内存泄漏的排查方法有两种,都在Xcode中可以直接使用: 第二种:动态分析方法(Instrument工具库里的Leaks)。一般推荐使用第二种。 第一步:通过Xcode打开项目,然后点击P…
抖音品质建设 - iOS启动优化《实战篇》
启动是 App 给用户的第一印象,启动越慢,用户流失的概率就越高,良好的启动速度是用户体验不可缺少的一环。启动优化涉及到的知识点非常多,面也很广,一篇文章难以包含全部,所以拆分成两部分:原理和实战,本文是实战篇。 对应着本文的三大模块:监控,工具和最佳实践。 既然要监控,那么就…
iOS 优化篇 - 启动优化之Clang插桩实现二进制重排
( 本篇文章由于会从原理角度讲解 , 有些已经比较熟悉的同学可能会觉得节奏偏啰嗦 , 为了照顾大部分同学 , 大家自行根据目录跳过即可 . ) 了解二进制重排之前 , 我们需要了解一些前导知识 , 以及二进制重排是为了解决什么问题 . 在本篇文章里 , 笔者就不通过教科书或者大…
iOS App启动优化(三):二进制重排
我们可以看到图中项目的Page Fault 数量并不多,这是因为当前项目是一个demo,代码和文件都极少。当代码多起来的话,Page Fault的 数量和加载耗时都会随着代码增加而增加。 二进制重排 可以很好优化这个问题,其中心思想是重新排列 方法符号的顺序, 使启动的相关方法…
iOS 性能优化总结
在 VSync 信号到来后,系统图形服务会通过 CADisplayLink 等机制通知 App,App 主线程开始在 CPU 中计算显示内容,比如视图的创建、布局计算、图片解码、文本绘制等。随后 CPU 会将计算好的内容提交到 GPU 去,由 GPU 进行变换、合成、渲染。随后…
监控所有的OC方法耗时
类似os_signpost,支持针对每个功能点监控性能问题。 支持显示调用堆栈。(维护stack frame) ,受益良多。我运用其中的hook objc_msgSend思想,写一个监控App里所有耗时的OC方法,以便以后开发过程中,能时刻监控App耗时性能问题。本文主要包含两…