首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS-底层优化
订阅
火之玉
更多收藏集
微信扫码分享
微信
新浪微博
QQ
22篇文章 · 0订阅
【iOS内功】Crash分析模型
分析iOS的Crash要掌握较多的知识,下面我要介绍一个分析模型,可以解决80%的常见Crash,"Crash Log三板斧"。 "Application Specific Information"是应用终止的描述,根据这个描述,我们就知道系统干掉App的具体原因,然后可以快速…
Drafter: 一个在iOS项目中分析代码结构的工具
在分析一个工程中的单个代码文件时,无法得知定义在其他文件中的类或方法,导致生成的语法树节点缺失,对最终的结果造成不小的影响。 在解析时clang会进行预处理,导致最终生成的结果可能包括一些外部系统库的函数,这对于我们来说是无用的信息(当然这个应该是我的使用姿势问题)。 无法支持…
深入理解 iOS Rendering Process
iOS 最早名为 iPhone OS,是 Apple 公司专门为其硬件设备开发的操作系统,最初于 2007 年随第一代 iPhone 推出,后扩展为支持 Apple 公司旗下的其他硬件设备,如 iPod、iPad 等。 作为一名 iOS Developer,相信大多数人都有写出…
常规优化技巧-iOS
读写大量重要数据时,考虑用dispatch_io,其提供了基于GCD的异步操作文件I/O的API。用dispatch_io系统会优化磁盘访问 批量传输,比如,下载视频流时,不要传输很小的数据包,直接下载整个文件或者一大块一大块地下载。如果下载广告,一次性多下载一些,然后再慢慢展…
如何判定发生了OOM
OOM (out of memory) ,根据Facebook的这篇文章,分为FOOM( foreground OOM )和BOOM ( background OOM )。从用户角度来看,FOOM与一般crash无异。但是因OOM导致的crash无法被app捕获,这就为我们判定…
图像渲染优化技巧
这个令人困扰的问题,是由于开发者和平台的相互不信任引起的。各种各样的代码示例充斥着 Stack Overflow,每个人都声称只有自己的方法是真正的解决方案 —— 而别人的是错的。 在本周的文章中,我们将介绍 5 种不同的 iOS 图像渲染优化技巧(在 MacOS 上时适当地将…
iOS圆角的离屏渲染,你真的弄明白了吗
1. 如何设置圆角才会触发离屏渲染 我们经常看到,圆角会触发离屏渲染。但其实这个说法是不准确的,因为圆角触发离屏渲染也是有条件的! 我们发现设置cornerRadius大于0时,只为layer的backgroundColor和border设置圆角;而不会对layer的conte…
WWDC20 iOS14 Runtime优化
1. Class结构体变化 这个类对象包含了最常用的信息:指向元类、父类、以及方法的缓存。它还有一个指针指向更多的额外信息class_ro_t,其中 ro表示read only 。这部分信息是只读的,其中包含了类名、方法、协议、实例变量和属性等信息。Swift类和Objecti…
iOS中符号的那些事儿
本文介绍了iOS开发中常见的符号及堆栈符号化等内容。 对于dSYM,iOS开发应该都比较熟悉了。 编译器在编译过程(即把源代码转换成机器码)中,会生成一份对应的Debug符号表。Debug符号表是一个映射表,它把每一个编译好的二进制中的机器指令映射到生成它们的每一行源代码中。这…
我是如何让微博绿洲的启动速度提升30%的(二)
之前的文章《我是如何让微博绿洲的启动速度提升30%的》收到了很多朋友的反馈。 其中,动态库转静态库的收益相比于二进制重排收益更大,但在实际操作中大家也遇到了一些问题。 本着装完X就跑,自己装的X,跪着也要装完的原则,在这里我详细来讲一讲这些问题。 1. 修改Mach-O Typ…