matchedGeometryEffect при утечках памяти ScrollView

Я использую LazyVGrid, чтобы показать галерею статей. Все работает нормально, и у меня нет предупреждений о памяти, потому что каждый раз, когда представление покидает экран, использование памяти уменьшается.

Моя проблема в том, что я использую matchedGeometryEffect с изображением, чтобы синхронизировать анимацию с новым представлением.

Анимация работает отлично, но при прокрутке прокрутки объем памяти увеличивается. Похоже на то, что matchedGeometryEffect поддерживает ссылку на объект в памяти и не разрешает выпуски.

Контейнер

      LazyVGrid(
    columns: [
     GridItem(.flexible())
    ],spacing: 16
 ){
                    
   ForEach(viewModel.articles){ article in
        LazyVStack{
            ArticleCardView(article: article, animation: animation, show: $show)
            .onTapGesture {
                withAnimation(.spring()){
                   selectedArticle = article
                   show.toggle()
                }
            }
        }

    }
 }

CardView

      VStack{
        if !show {
            Image(uiImage: readImage(name: "\(article.id)00"))
                .resizable()
                .aspectRatio(contentMode: .fit)
                //.matchedGeometryEffect(id: "img\(article.id)00", in: animation)

...

Новый взгляд

      VStack{
    GeometryReader { geo in
       TabView {
           Image(uiImage: readImage(name: "\(article!.id)00"))
               .resizable()
               .aspectRatio(contentMode: .fit)
               //.matchedGeometryEffect(id: "img\(article!.id)00", in: animation, isSource: false)
               .tag(1)

...

Все работает идеально, но если я раскомментирую закомментированные строки, использование памяти увеличивается при прокрутке.

Любая идея? Чем ты

1 ответ

Решение

Решено: я просто вставляю представление в VStack, и воспоминания освобождаются:

      ...
ForEach(viewModel.articles){ article in
     VStack{
        ArticleCardView(article: article, animation: animation, show: $show)...
Другие вопросы по тегам