iOS關于AFNetworking使用發(fā)現(xiàn)內存泄漏以及解決

關于AFNetworking使用發(fā)現(xiàn)內存泄漏以及解決

眾所周知,使用一些第三方的時候,程序猿都會對第三方進行一層封裝,使第三方與我們的代碼隔離,當有修改的時候我們只需要在自己封裝的文件上做修改,這樣減少了第三方代碼的入侵和方便修改。

最新的項目也是一如既往的對AFNetworking進行了封裝,因為之前的都是小項目,并且也是菜鳥階段,當然現(xiàn)在依然也是菜鳥,所以沒有關注過內存問題,這個項目因為是購買的源碼,所以存在很多問題,經常會內存飆升,所以用上了沒用過的instruments,檢查了下內存泄漏,不看不知道,發(fā)現(xiàn)各種泄漏


使用instruments檢查的

查看了一下內存泄漏的地方,發(fā)現(xiàn)自己封裝的請求有內存泄漏

這里寫圖片描述

繼續(xù)往下查看發(fā)現(xiàn)是AFNetworking內部泄漏

這里寫圖片描述

百度了好久,也很難找到這類的問題,于是我去github看了下AFNetworking,并且再次把代碼下載下來看了下,如下圖

1.請求

這里寫圖片描述

2.請求封裝
這里寫圖片描述

3.對請求隊列管理者AFHTTPSessionManager繼承
這里寫圖片描述

4.創(chuàng)建單例方法
這里寫圖片描述

于是我也學者使用單利來創(chuàng)建AFHTTPSessionManager


這里寫圖片描述

這里寫圖片描述

然后運行instruments,檢查下內存,就會發(fā)現(xiàn)AFNetworing之前泄漏的地方不再泄露了


這里寫圖片描述
公司的項目.png

????公司的項目,求支持,如果發(fā)現(xiàn)什么問題,可以留言反應,感激不盡????

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容