首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
ios
订阅
夜空中最亮的不咚
更多收藏集
微信扫码分享
微信
新浪微博
QQ
23篇文章 · 0订阅
iOS中的isEqual和hash
从一次测试提出的bug说起:有次测试给我提了个bug,说订单列表的新加载出来的第一条和上一页的最后一条的数据一样,是同一个订单。而且还能经常重现,我就挺疑惑,如果要是重复,应该整个一页都是重复的啊,为什么只有第一条重复,还是偶尔重现。我直接查看后端返回数据,发现是后端偶尔会在下…
iOS列表性能优化之异步绘制|掘金年度征文
一、需求背景1、现状iOS所提供的UIKit框架,其工作基本是在主线程上进行,界面绘制、用户输入响应交互等等。当大量且频繁的绘制任务,以及各种业务逻辑同时放在主线程上完成时,便有可能造成界面卡顿,丢帧
IOS-强引用分析
我们在使用NSTimer的scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:方法创建定时器使用的时候,timer会对传入的target进行强引用直到timer无效。 通过返回回到上一个界面的时候发现并…
APP网络优化之DNS优化实践
移动端APP网络优化是客户端技术优化方向中比较重要的一个方向之一,绝大多数APP都需要有网络请求这一步,大多数APP在发起请求之前第一步要做的事情就是DNS域名解析,只有将域名解析成正确的IP后,才能进行后续的HTTP或HTTPS请求,因此DNS优化是移动端APP网络优化中首要…
lottie原理与案例
最近项目大量使用动画效果,如果想用原生实现的话,无疑会大大增加研发人员的难度,即使最终实现了,可能还是达不到UI要的效果!搜索了很多相关技术,找到了可以友好解决项目需求的技术-lottie - h
一文读懂iOS线程调用栈原理
还要一个重要的用途就是应用性能优化中的“卡顿检测”,需要获取主线程的调用栈,来检测具体的函数调用过程分析耗时来优化性能。 卡顿检测获取线程堆栈信息,如微信开源性能探测工具Matrix,检测包括崩溃、卡顿及爆内存,目前包含两个插件:WCCrashBlockMonitorPlugi…
OpenGL-05-屏幕卡顿原因及iOS下的渲染
当CPU和GPU的计算能力跟不上所需要的帧率(60FPS),此时会可能发生撕裂。一般是在低端设备上,加载一个高FPS的视频或者游戏场景。iOS设备不太常见,大多在安卓设备上出现。 也就是说,垂直同步:防止出现撕裂。双缓存区:从根本上解决撕裂。 当我们启用了垂直同步+ 双缓存区的…
如何知道一个锁到底被哪个线程占用?
在多线程环境下调试或定位问题时,有时我们会发现某重要线程被卡住在等待某个锁上,但具体是哪个线程或哪段代码拿了锁(特别是代码逻辑比较复杂、线程较多的情况下)又无法一下看出来。 这时我们就需要在调试器里把所有线程点一遍,看他们当前的调用栈,然后再对照源代码看各线程的调用栈上有没有哪…
iOS Rendering 渲染全解析(长文干货)
1. 计算机渲染原理 对于现代计算机系统,简单来说可以大概视作三层架构:硬件、操作系统与进程。对于移动端来说,进程就是 app,而 CPU 与 GPU 是硬件层面的重要组成部分。CPU 与 GPU 提供了计算能力,通过操作系统被 app 调用。 CPU(Central Proc…
iOS Crash防护
“信号”是操作系统模拟软硬中断的工作过程的一种处理异步事件的机制,例如:终端用户键入ctrl+c会产生SIGINT信号默认会终止终端进程。 终端连接断开,则将此信号送给与该终端相关的控制进程(会话首进程)。 若父进程退出导致进程组成为孤儿进程组,且该进程组中有进程处于停止状态(…