首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
1
订阅
CReus
更多收藏集
微信扫码分享
微信
新浪微博
QQ
18篇文章 · 0订阅
iOS 性能检测新方式——AnimationHitches
在 Xcode12 中,Instrument 新增 AnimationHitches 检测类型用以检测卡顿,并去除 CoreAnimation 检测方式。
iOS的渲染循环、离屏渲染原理、卡顿原理
在iOS开发中,卡顿的问题是一个绕不开的问题,在这里我们从iOS的渲染循环(Render Loop)的角度来分析在渲染过程中可能会出现卡顿的原因。 渲染循环 VSYNC 渲染循环是一个连续性的过程。通
OpenGL-05-屏幕卡顿原因及iOS下的渲染
当CPU和GPU的计算能力跟不上所需要的帧率(60FPS),此时会可能发生撕裂。一般是在低端设备上,加载一个高FPS的视频或者游戏场景。iOS设备不太常见,大多在安卓设备上出现。 也就是说,垂直同步:防止出现撕裂。双缓存区:从根本上解决撕裂。 当我们启用了垂直同步+ 双缓存区的…
《新浪微博剖析 iOS 高级面试》笔记(一):UI视图相关面试问题
A1-A7使用相同的identifer,当tableView向上滑动,A1划出页面后,就被放入了重用池。 当A7即将展示时,首先会在重用池中查看时候有相同identifer的cell可以被重用,如果有则直接取出使用,若无则创建一个新的cell。 当数据源在主线程中有删除操作,同…
如何知道一个锁到底被哪个线程占用?
在多线程环境下调试或定位问题时,有时我们会发现某重要线程被卡住在等待某个锁上,但具体是哪个线程或哪段代码拿了锁(特别是代码逻辑比较复杂、线程较多的情况下)又无法一下看出来。 这时我们就需要在调试器里把所有线程点一遍,看他们当前的调用栈,然后再对照源代码看各线程的调用栈上有没有哪…
iOS 性能监控(一)—— CPU功耗监控
本篇将介绍iOS性能监控工具(QiLagMonitor)中与 “CPU功耗监控” 相关的功能模块。 市场上,我们比较熟悉的CPU架构有ARM(arm64)和Intel(x86)等等。 目前,市场上大部分的iPhone都是基于arm64架构。 因为arm架构有着功耗低的特点,因此…
iOS 任务调度器:为 CPU 和内存减负
支持 cocopods,使用简便,效率不错,一个性能优化的基础组件。 解决类似的问题可以用几个思路:降频、淘汰、优先级调度。 本来解决这些问题并不需要很复杂的代码,但是涉及到一些 C 代码并且要注意线程安全的问题,所以笔者就做了这样一个轮子,以解决任务调度引发的性能问题。 本文…
iOS 设备跟踪 GPU 使用率
关于如何用代码跟踪 App 的 CPU 使用率,网上相关文章已经很多了,但是很难搜索到 GPU 使用率相关的东西。这个原因可能是多样的: App 开发者一般不太关心 GPU 使用的问题,游戏开发者更关心一些。而游戏开发的有很强大的 Unity 工具可以实时跟踪 最近的 Xcod…
字节跳动最爱考的前端面试题:计算机网络基础
而 302 表示临时重定向,这个资源只是暂时不能被访问了,但是之后过一段时间还是可以继续访问,一般是访问某个网站的资源需要权限时,会需要用户去登录,跳转到登录页面之后登录之后,还可以继续访问。 301 类似,都会跳转到一个新的网站,但是 301 代表访问的地址的资源被永久移除了…
iOS 内存管理研究
iPhone 作为一个移动设备,其计算和内存资源通常是非常有限的,而许多用户对应用的性能却很敏感,卡顿、应用回到前台丢失状态、甚至 OOM 闪退,这就给了 iOS 工程师一个很大的挑战。 网上的绝大多数关于 iOS 内存管理的文章,大多是围绕 ARC/MRC、循环引用的原理或者…