It seems Image wont be destroyed in SwiftUI

Hi to everyone
I am developing a photo utility app in SwiftUI.
But there is something I don't understand about Image View's memory management. In my attempts it seems that when an image is created in SwiftUI it will never be destroyed (never deallocated in memory)

I tried this simple test view which shows one image at a time taken from a set of images loaded from the main bundle (Assets.xcassets).
This is the code:


struct ImageTest: View {
   
  @State var index = 1
  var imageName : String { "Image\(index)"}
   
  var body: some View {
    VStack {
      Image(imageName)
        .resizable()
        .aspectRatio(contentMode: .fit)
      Spacer()
      Button(action:{ index += 1 }) { Text("Next") }
    }
  }
}


I thought that every time the "Next" button was clicked, a new image was created. Then the old one was destroyed. But it seems that this is not the case.
When I run the app I see the memory grow every time I press the button and the new image appears. Memory is never released.
I do not understand.

I hope someone can help me
Thank you


Doing some additional tests and search I realize there's some caching mechanism in Image (also in UIImage)
There's a way for avoiding that ?
Thank you


It seems Image wont be destroyed in SwiftUI
 
 
Q