이미지를 불러올때 프레임 드랍이 발생하는 문제 - boostcampwm-2021/iOS04-OwnMyWay GitHub Wiki

문제 상황

  • Ongoing화면과 Outdated화면에서 기록을 많이 추가할 경우 스크롤 시 프레임 드랍이 발생하는 문제가 생김
  • 한 번 스크롤을 해서 로드를 한 후에는 프레임 드랍 없이 그려지는 것으로 보아 로드를 하는 과정에서 문제가 있는 것으로 보여짐
  • 기록의 경우 네트워크가 아닌 로컬에 있는 이미지를 불러오는 것인데 최초 로드의 시간이 소모되는 것이 의아했음

문제 해결

  • 이미지 처리 라이브러리로 Kingfisher를 사용하고 있었는데 Kingfisher가 너무나 똑똑해서 발생한 문제였다.
  • 기존에는 이미지를 라이브러리에서 불러오고 해당 이미지를 앱 내의 Document 폴더로 복사하고 그 경로를 절대경로로 CoreData에 저장하고 있었다.
  • 그러나 빌드할 때마다 App ID가 변경되었고 해당 절대 경로는 더 이상 앱 내에 존재하지 않는다는 사실을 발견했다.
  • 이 과정을 Kingfisher가 알아서 존재하지 않는 절대 경로만으로 Local에서 이미지를 찾아서 불러오고 있던 것이다.
  • 따라서 CoreData단에서부터 절대 경로가 아닌 상대경로를 저장하도록 변경해 해결하였다.