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

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