首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS问题
订阅
飞翔的袜子
更多收藏集
微信扫码分享
微信
新浪微博
QQ
9篇文章 · 0订阅
监控所有的OC方法耗时
类似os_signpost,支持针对每个功能点监控性能问题。 支持显示调用堆栈。(维护stack frame) ,受益良多。我运用其中的hook objc_msgSend思想,写一个监控App里所有耗时的OC方法,以便以后开发过程中,能时刻监控App耗时性能问题。本文主要包含两…
探秘 Mach-O 文件
之前负责项目的包体积优化学习了 Mach-O 文件的格式,那么 Mach-O 究竟是怎么样的文件,知道它的组成之后我们又能做点什么?本文会从 Mach-O 文件的介绍讲起,再看看认识它后的一些实际应用。 Load Commands(加载命令),正如官方的图所示,描述了怎样加载每…
Xcode真机调试中活久见的BUG——【code signature invalid for Framework】
因为疫情的原因,春节至今只能在家用自己的非付费开发人员账号进行真机调试,从而发现这个问题,新建的简单项目一直无法进行真机调试,断断续续卡了我好几天。 简单来说,新版Xcode和iOS系统,在当我们使用非付费开发人员账号时,都有概率对嵌入的动态库发生无效签名。而解决的方式有:
iOS中符号的那些事儿
本文介绍了iOS开发中常见的符号及堆栈符号化等内容。 对于dSYM,iOS开发应该都比较熟悉了。 编译器在编译过程(即把源代码转换成机器码)中,会生成一份对应的Debug符号表。Debug符号表是一个映射表,它把每一个编译好的二进制中的机器指令映射到生成它们的每一行源代码中。这…
【iOS】使用YYLabel+CADisplayLink实现文本首行缩进的动画效果
由于关注按钮点击后应该要有相应的状态更新,如果使用这种做法进行刷新,直接重新设置attributedText,这样虽然能达到目的,可是没有过渡,看上去很生硬,用户体验没那么好,我个人想要的效果是文字也能跟着控件一起过渡变化。 1. YYLabel - exclusionPath…
深入探索 iOS 启动速度优化
App 的启动时间是体现其性能优劣的一个重要指标,启动时间越快用户的等待时间就越短,提升用户体验感,大厂应用甚至会做到“ 毫秒必究 ”。 本篇文章主要针对冷启动方式进行优化分析,介绍常用的检测工具及优化方法。 Apple 官方的《WWDC Optimizing App Star…
iOS底层学习 - 多线程之GCD底层原理篇
对于GCD的底层来说,主要有队列创建,函数执行,同步异步原理和其他应用函数的原理。关于队列原理的,我们之前的篇章已经讲过,相信对于GCD是如何创建队列的,已经有了认识,今天就来继续看其他的底层原理,还是通过源码来深入研究 我们都知道,当使用dispatch_sync在串行队列上…
iOS底层(十三)-多线程
线程是进行的基本执行单元, 一个进程的所有任务都在线程中执行。 进行想要执行任务,必须要有线程,进程至少要有一条线程。 程序启动会默认开启一条线程, 这条线程被称为主线程或UI线程。 进程是指在系统中正在运行的一个程序。 每个进程之间都是独立的, 每个进程均运行在其专用的且受保…
iOS线程数量监控工具
简单却强大的线程监控工具 KKThreadMonitor :当线程过多或瞬间创建大量子线程(线程爆炸),控制台就打印出所有的线程堆栈。便于分析造成子线程过多或线程爆炸的原因。 有一定iOS开发基础的,应该都知道不合理创建线程,是会造成性能问题的。而业务的积累和迭代过程,可能就不…