UITextField的內存泄漏問題


背景:

項目中使用了Facebook的FBRetainCycleDetector框架檢測內存泄漏問題。

登錄VC的view中放置了一個UITextField對象。

產品的要求是當進入登錄界面的時候,讓這個UITextField對象成為第一響應者彈起鍵盤。

所以我在登錄VC的-viewDidLoad方法中調用了該UITextField對象becomeFirstResponse方法。

但是當我pop到上一個控制器的時候,FBRetainCycleDetector框架提醒我發生了內存泄漏,但是我查看了下登錄VC的-dealloc方法是被調用了的,怎么會在它上面的UITextField對象沒有被釋放呢?

 

原因:

通過查看了蘋果開發者論壇和github上面另一個內存檢測的框架的討論,初步鑒定為UITextField本身的內存泄漏,也就是在iOS系統中沒有對它做好內存管理。

https://forums.developer.apple.com/thread/94323

https://github.com/Tencent/MLeaksFinder/issues/80

 

解決方式:

在-viewDidAppear方法中調用該UITextField對象becomeFirstResponse方法,就不會出現內存泄漏的問題了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM