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