首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
apm
订阅
Boyang_
更多收藏集
微信扫码分享
微信
新浪微博
QQ
14篇文章 · 0订阅
iOS的高性能、高实时性key-value持久化组件
在开始写这个组件之前,应该先调研一下NSUserDefaults性能(ps:这里有个失误,事实上我是在写完这个组件以后才调研的)。 据我所知NSUserDefaults有一层内存缓存的,所以它提供了一个叫synchronize的方法用于同步磁盘和缓存,但是这个方法现在苹果在文档…
iOS野指针定位总结
野指针就是指向一个已删除的对象或者受限内存区域的指针。 我们写C++的时候强调指针初始化为NULL,强调用完后也为其赋值为NULL,谁分配的谁回收,来避免野指针的问题。 比较常见的就是这个指针指向的内存,在别处被回收了,但是这个指针不知道,依然还指向这块内存。 MRC 时代因为…
天罗地网? iOS卡顿监控实战(开源)
行吧,那就自己撸一个。 因为想装逼。 开个玩笑,实际上是因为公司项目处于隐私合规考虑,没有使用国内平台而使用了Fabric,但它又没有提供卡顿监控这部分功能,不然你以为蜗牛闲的蛋疼🙄。 用户在操作之后无法进行下一步,卡死在当前页面,过一会才恢复。(主线程阻塞) 查词候选、云输…
iOS内存二三事
Page In/Out和 Swap In/Out 概念类似,只不过Page In/Out是将某些页的数据写到内存/从内存写回磁盘交互区;而Swap In/Out是将整个地址空间的数据写到内存/从内存写回磁盘交互区;本质都是交互机制。 通用的计算机(大型机和专用计算机不在此范围)…
了解和分析iOS Crash Report
当app发生crash时会产生crash report,这对我们定位crash的原因非常有帮助。这篇文档重点介绍了如何符号化、看懂并解析一篇crash Report。 当app发生crash时,系统会生成crash report并存储在设备上。crash report会描述ap…
关于iOS内存的深入排查和优化
虚拟内存机制在这里就不多说了,主要包括内存管理单元MMU、内存映射、分段、分页。在iOS中,一页通常有16KB的内存空间。 分配内存的时候,先分配虚拟内存,然后使用的时候再映射到实际的物理内存。 一个VM Region指的是一段连续的虚拟内存页,这些页的属性都相同。 VM分为C…
[旧文搬运]DateFormatter轻度优化探索
app启动后的60s内,快速滑动feed流页面,在这一过程中,主线程的执行时间大概是10.59s,我们项目中日期处理主要在func detailString(date: Date) -> String这个方法中进行,这个方法的运行时间为730ms,而其中 timeStr = f…
iOS 电量消耗改善:一招套路及相关姿势
先使用 Xcode Energy Gauge 分析出哪一块耗电(网络和 motion , 还是定位 ... ), 用 Time Profiler 定位问题与解决 ( Instruments 模版 ), 得到用户好的反馈。 Do it never/do it less (能不做…
iOS 开发:『Crash 防护系统』(二)KVO 防护
1. KVO Crash 的常见原因 KVO(Key Value Observing) 翻译过来就是键值对观察,是 iOS 观察者模式的一种实现。KVO 允许一个对象监听另一个对象特定属性的改变,并在改变时接收到事件。但是 KVO API 的设计,我个人觉得不是很合理。被观察者…
在ARC环境中autoreleasepool(runloop)的研究
最近有个大佬考察了我关于autoreleasepool的了解, 之前一直认为自己了解, 但是稍微一问深, 自己却哑口无言. 仔细思考了下, 决定要将这个问题结合之前的知识从新梳理一下, 当然, 实践是必不可少的. 带着这三个问题, 一起进行一下下面的思考. 其他的解释其实在网上…