소소한 이미지캐싱

3 답변 글타래를 보이고 있습니다
  • 글쓴이
    • 메이슨
      참가자
      • 글작성 : 3
      • 답글작성 : 2

      이미지의 캐싱
      1) 메모리 캐시에서 이미지를 검색한다.
      2) 없을 경우, 디스크 캐시에서 이미지를 검색한다.
      3) 없을 경우, URL에서 이미지를 비동기 로드한다.
      4) 메모리 캐시와 디스크 캐시에 해당 이미지를 저장한다.
      5) 다음 번 요청시에는 메모리 캐시에서 이미지를 불러온다.
      6) 프로세스 재지작 이후 요청시에는 디스크 캐시에서 불러온 후 메모리 캐시에 추가한다.
      우리가 쓰는 UIImage 이니셜라이저의 차이점은 뭐가 있을까용ㅇㅇㅇ
      앱이 이미지를 읽어 들일때 파일 시스템을 통해 이미지 파일을 열고 데이터를 읽어야 하므로 I/O가 발생하는데 이미지 파일을 읽을 때마다 발생하는 I/O는 성능에 큰 영향을 끼친다. 그래서 이를 해결하기 위한 방법 중 하나가 바로 캐싱(Caching). UIImage(named:)방식으로 생성한 이미지객체는 한번 읽어본 이미지를 메모리에 저장해둔 다음에 두번째 호출부터 메모리에 저장된 이미지를 가져온다.
      – 주의할 점은 이렇게 저장된 메모리는 이미지 객체를 다 사용한 후에도 잘 해제되지 않는다.
      – 이미지 객체로 인한 메모리 점유가 걱정되는 경우 UIImage(contentsOfFile:) 생성자를 사용해 이미지 객체를 생성하는 것이 좋다.
      – 이 생성자를 사용해 생성된 이미지객체는 캐싱되지 않는다. 하지만 이미지 데이터를 매번 다시 읽어와야 하므로 앞의 방식보다 성능이 약간 저하될 수 있다.

    • 민디
      참가자
      • 글작성 : 1
      • 답글작성 : 9

      와우 좋은 글 감사합니다

    • Ogi
      참가자
      • 글작성 : 2
      • 답글작성 : 5

      오 유용한 정보네요 ^^!

    • Lena
      참가자
      • 글작성 : 4
      • 답글작성 : 5

      좋은 글 감사합니다! 이미지 캐싱에 대해서 이해하기 쉬운 것 같아요!

3 답변 글타래를 보이고 있습니다
  • 답변은 로그인 후 가능합니다.

logo landscape small

사업자번호 : 743-81-02195
통신판매업 신고번호 : 제 2022-충북청주-1278 호
고객센터 : 카카오톡채널 @yagom