首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
开发
订阅
GhostClock
更多收藏集
微信扫码分享
微信
新浪微博
QQ
31篇文章 · 0订阅
天罗地网? iOS卡顿监控实战(开源)
行吧,那就自己撸一个。 因为想装逼。 开个玩笑,实际上是因为公司项目处于隐私合规考虑,没有使用国内平台而使用了Fabric,但它又没有提供卡顿监控这部分功能,不然你以为蜗牛闲的蛋疼🙄。 用户在操作之后无法进行下一步,卡死在当前页面,过一会才恢复。(主线程阻塞) 查词候选、云输…
iOS Promise学习小结
在日常开发中,异步操作是很常见的情况,比如发起网络请求后,处理网络请求的结果一般都是异步操作,我们一般通过block或者delegate来执行异步操作。但是当有多个异步操作需要嵌套执行时,写出的代码结构就会比较混乱,难以阅读,比较容易出bug。 相信大家看到这样的代码,脑袋已经…
iOS之runloop优化tableView的实现
把任务以block块的方式封装起来,存放到任务数组中,若任务数组中的任务数超出最大任务数,则删除靠前的任务,注册runloop的观察者,在回调方法里,执行任务数组中的一个任务,并删除执行后的任务。添加timer事件,防止runloop进入休眠状态。 最后添加timer或sour…
如何实现一个下载进度条/播放进度条
技术上没太大难度,有难度的地方是怎么让整个动画比较流畅。一个主要问题是动画的滞后性:当下载进度到某个点的时候,你再用250ms的动画过渡过去,这个时候已经慢了,所以很多人可能因为这个原因或者嫌麻烦,直接就不做动画了,在进度事件触发的时候直接更新进度条相应的位置,不过我们可以尝试…
iOS Runloop 简介
runloop简介、存在价值、与线程关系,runloop运行过程、模式、事件、观察者,runloop应用
iOS 多线程记录(二)
关于这篇文章的Demo可以去我的github中MultiThreadDemo查看源码,如有不当之处,希望大家指出。 iOS 多线程记录(一)。 GCD是苹果开发的多线程编程的解决方案,通过简单的API就可以实现创建新线程去执行我们需要执行的任务,不需要我们手动地创建和管理线程,…
iOS app秒开H5优化探索
为了快递迭代、更新,公司app有一大模块功能使用H5实现,但是体验比原生差,这就衍生了如何提高H5加载速度,优化体验的问题。此文,记录一下自己的心路历程。 一般页面在 dom 渲染后才能展示,可以发现,H5 首屏渲染白屏问题的原因关键在于,如何优化减少从请求下载页面到渲染之间这…
一步一步教你实现iOS音频频谱动画(二)
在上篇文章中我们已经拿到了频谱数据,也知道了数组每个元素表示的是振幅,那这些数组元素之间有什么关系呢?根据FFT的原理, N个音频信号样本参与计算将产生N/2个数据(2048/2=1024),其频率分辨率△f=Fs/N = 44100/2048≈21.5hz,而相邻数据的频率间…
业务复杂=if else?刚来的大神竟然用策略+工厂彻底干掉了他们!
对于业务开发来说,业务逻辑的复杂是必然的,随着业务发展,需求只会越来越复杂,为了考虑到各种各样的情况,代码中不可避免的会出现很多if-else。 一旦代码中if-else过多,就会大大的影响其可读性和可维护性。 首先可读性,不言而喻,过多的if-else代码和嵌套,会使阅读代…
iOS底层原理 runtime-object_class拾遗基础篇--(6)
FYPerson定义了三个属性,占用空间是16字节,那么我们换一种方法实现这个三个属性的功能。 我们定义6个方法,3个set方法,3个get方法。 我们定义了一个char类型的变量_richTellHandsome,4字节,32位,可以存储32个bool类型的变量。赋值是使用_…