九月
凉爽
WireShark 抓包学习
FLAnimatedImage 源码剖析
GYMonitor iOS 用于检测代码性能的库
CRToast 非常优秀的通知弹窗
JRSwizzle 安全的hook 方法
项目中fix的大问题:
直播项目中有很多动画,比如送礼的横幅,进场秀,以及一些活动。这些过程,项目中都是用定时器来解决的。上次是用instruments 测试性能的时候,发现了几十个内存泄漏。虽然没什么大问题,但是定时器一直在跑空函数。会有一堆timer的内存泄漏。
代码如下:
[NSTimer safe_scheduledTimerWithTimeInterval:1 block:^{
[weakSelf onprintMessage];
} repeats:YES];
因为使用了 weakSelf 所以不会崩溃。但是timer没有被释放,重复进入直播间,会不断的生成timer然后调用这个block。这大概就是我们直播间会卡顿的一本分原因吧。
项目收尾的时候多用 instruments
检查一下,线上的问题就会少很多。
错误检查的姿势。
项目中很多防止数组越界的安全措施,都是通过 @try @catch
完成的。查了一下文档,苹果不是很推荐使用。因为 这种方式有可能造成内存泄漏。这种方式是使用block 完成的,也有效率的问题!