encounter memory leak for SVG image

I have a memory leak for SVG image that located in Assets.xcassets file when using SwiftUI Image, but when I use UIImage then convert it to SwiftUI Image the issue is not found.

import SwiftUI

struct ContentView: View {    
    var body: some View {
        NavigationStack {
            VStack {
                NavigationLink("Show", destination: SecondView())
            }
            .padding()
        }
    }
}

struct SecondView: View {
    @Environment(\.dismiss) var dismiss
    
    var body: some View {
        NavigationStack {
            VStack {
                IM.svgImage
                    .resizable()
                    .scaledToFit()
                    .frame(width: 200, height: 200)
                
                Button("Dismiss") {
                    dismiss()
                }
            }
        }
    }
}

enum IM {
    static let testImage: Image = "test_image".image
    static let svgImage: Image = "svgImage".image
}

extension String {
    var image: Image {
        Image(self) // Memory leak
    }
    
    var imageFromUIImage: Image {
        guard let uiImage = UIImage(named: self) else {
            return Image(self)
        }
        
        return Image(uiImage: uiImage) // No Memory leak
    }
}

Environment that produces the issue:

  • Xcode: 16.2
  • Simulator: iPhone 15 Pro (iOS 17.5)
Answered by DTS Engineer in 844329022

Our engineering teams need to investigate this issue, as resolution may involve changes to Apple's software. Please file a bug report, include a small Xcode project and some directions that can be used to reproduce the problem, and post the Feedback number here once you do. If you post the Feedback number here I'll check the status next time I do a sweep of forums posts where I've suggested bug reports.

Bug Reporting: How and Why? has tips on creating your bug report.

Our engineering teams need to investigate this issue, as resolution may involve changes to Apple's software. Please file a bug report, include a small Xcode project and some directions that can be used to reproduce the problem, and post the Feedback number here once you do. If you post the Feedback number here I'll check the status next time I do a sweep of forums posts where I've suggested bug reports.

Bug Reporting: How and Why? has tips on creating your bug report.

encounter memory leak for SVG image
 
 
Q