문제점

목표를 추가하는 화면을 열고 닫았을때마다 계속 메모리가 상승된다…

deinit 이 실행이 안되는거보니 강한참조가 발생했나보다

스크린샷 2023-10-13 오전 10.33.07.jpg

스크린샷 2023-10-13 오전 10.34.40.jpg

해결법

뷰(VC) -> 뷰모델 → observer.bind → self(VC).viewmodel

DoitAddViewController → DoitAddViewModel → var endDate = Observer(Date()) → self(DoitAddViewController)

로 강한참조 사이클이 발생한다.

스크린샷 2023-10-13 오전 10.38.23.jpg

스크린샷 2023-10-13 오전 10.51.39.jpg

스크린샷 2023-10-13 오전 10.37.56.jpg

스크린샷 2023-10-13 오전 10.38.08.jpg

문제점

이미지 메모리 문제

에서 작성했던 메모리 문제

여기도 클로저의 강한참조 문제였다.

스크린샷 2023-10-13 오전 11.26.25.jpg

VC → UIAction closure → self(VC).navigationController

약한 참조로 변경

스크린샷 2023-10-13 오전 11.25.16.jpg

스크린샷 2023-10-13 오전 11.25.25.jpg

문제점

  1. 화질이 너무 깨져서 원본 데이터를 가장 낮은 품질로 압축한다음
  2. 원본 사진을 불러와 이미지뷰 크기만큼 리사이징해서 보여준다.
  3. 데이터가 많아지니깐 버벅거린다

해결법

최선의 방법인지는 확신이 들지 않지만

셀 데이터를 넣는 함수가 호출되면 해당 이미지를 파일에서 꺼내와서 메인스레드에서 리사이징해서 넣으니깐 버벅거리는게 줄어든다.

스크린샷 2023-10-13 오후 4.29.36.jpg