iOSER 九月

九月

凉爽

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 完成的,也有效率的问题!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章