簡體   English   中英

iOS Swift-調試內存泄漏

[英]iOS Swift - Debugging Memory Leaks

我正在開發一個應用程序,它存在可怕的內存泄漏。 到目前為止,我觀察到的是我使用該應用程序越多,它消耗的內存就越多。 最初,我認為這可能是處理導航的方式。 我們有一個用Objective C編寫的幻燈片菜單框架。在它的Swift文件中(處理了標題),我添加了以下代碼:

if let app = UIApplication.shared.delegate as? AppDelegate, let window = app.window {
       if let viewControllers = window.rootViewController?.childViewControllers {
                for viewController in viewControllers {
            print("😀" + viewController.debugDescription)
    }
}}

打印功能表明實際上所有的viewController都被關閉了,但是內存使用沒有適當降低。 現在,我開始使用“調試內存圖”。 那是我得到的一個例子: 在此處輸入圖片說明 如您所見,我找不到這些內存泄漏與之相關的任何提示。 我從圖中看不出任何東西。

越來越多地使用該應用程序給了我與以下內容有關的內存泄漏:CoreFoundation,libswiftCore.dylib和Foundation。

我很迷茫,我不知道如何繼續調試這些泄漏,因為沒有其他信息可以幫助我查明導致泄漏的原因/快速文件。

PS:我不是該項目的唯一開發商。 我幾乎是在前一位開發人員之后進行工作的,並且到處都看到了不良的編碼實踐。 重寫不是可行的選擇。

過去,我曾使用Instruments來調試內存泄漏。 我閱讀了Apple文檔以弄清楚如何使用Instruments,它非常有幫助-特別是第一部分: 查找內存泄漏 我發現使用調試內存圖無法找出泄漏。

儀器用戶指南:查找內存泄漏

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM