九月
涼爽
WireShark 抓包學(xué)習(xí)
FLAnimatedImage 源碼剖析
GYMonitor iOS 用于檢測代碼性能的庫
CRToast 非常優(yōu)秀的通知彈窗
JRSwizzle 安全的hook 方法
項(xiàng)目中fix的大問題:
直播項(xiàng)目中有很多動畫,比如送禮的橫幅,進(jìn)場秀,以及一些活動。這些過程,項(xiàng)目中都是用定時(shí)器來解決的。上次是用instruments 測試性能的時(shí)候,發(fā)現(xiàn)了幾十個(gè)內(nèi)存泄漏。雖然沒什么大問題,但是定時(shí)器一直在跑空函數(shù)。會有一堆timer的內(nèi)存泄漏。
代碼如下:
[NSTimer safe_scheduledTimerWithTimeInterval:1 block:^{
[weakSelf onprintMessage];
} repeats:YES];
因?yàn)槭褂昧?weakSelf 所以不會崩潰。但是timer沒有被釋放,重復(fù)進(jìn)入直播間,會不斷的生成timer然后調(diào)用這個(gè)block。這大概就是我們直播間會卡頓的一本分原因吧。
項(xiàng)目收尾的時(shí)候多用 instruments檢查一下,線上的問題就會少很多。
錯(cuò)誤檢查的姿勢。
項(xiàng)目中很多防止數(shù)組越界的安全措施,都是通過 @try @catch 完成的。查了一下文檔,蘋果不是很推薦使用。因?yàn)?這種方式有可能造成內(nèi)存泄漏。這種方式是使用block 完成的,也有效率的問題!