sourcecode

피카소 v/s 이미지로더 v/s 프레스코 vs 글라이드 vs 코일

copyscript 2023. 9. 21. 21:12
반응형

피카소 v/s 이미지로더 v/s 프레스코 vs 글라이드 vs 코일

결과:

  1. 여기서 피카소 v/s ImageLoader의 차이...
  2. 여기 라이브러리 GLIDE에 대한 정보...
  3. Facebook은 독자적인 도서관 프레스코를 가지고 있습니다.
  4. 목록에 새로 추가된 코일

질문:

  1. 피카소 v/s 이미지로더 v/s 프레스코 v/s 코일의 차이점은 무엇입니까?
  2. 어느 도서관이 가장 이용하기 좋습니다.
  3. 각 도서관마다 고유한 의미가 있다면, 그것들은 무엇입니까?

저는 프레스코 프로젝트의 엔지니어 중 한 명입니다.그래서 분명히 저는 편견이 있습니다.

하지만 제 말을 믿으실 필요는 없습니다.프레스코, 피카소, UIL, 글라이드, 발리 이미지 로더 등 5개 라이브러리의 성능을 나란히 비교할 수 있는 샘플 앱을 출시했습니다.저희 GitHub 레포에서 받으실 수 있습니다.

프레스코는 메이븐 센트럴에서 이용할 수 있다는 점도 지적하고 싶습니다.com.facebook.fresco:fresco.

프레스코는 피카소, UIL, 글라이드가 아직 가지고 있지 않은 기능을 제공합니다.

  1. 이미지는 Java 힙에 저장되지 않고 ashmem 힙에 저장됩니다.중간 바이트 버퍼도 네이티브 힙에 저장됩니다.이렇게 하면 응용프로그램에서 사용할 수 있는 메모리가 훨씬 더 많아집니다.OutOf Memory Errors의 위험을 줄여줍니다.또한 쓰레기 수거 앱의 작업량을 줄여 성능을 향상시킵니다.
  2. 웹 브라우저에서와 마찬가지로 진행형 JPEG 이미지를 스트리밍할 수 있습니다.
  3. 이미지는 중심이 아닌 모든 지점에 잘라낼 수 있습니다.
  4. JPEG 이미지는 기본적으로 크기를 조정할 수 있습니다.이렇게 하면 이미지를 축소하는 동안 OOMing 문제가 발생하지 않습니다.

그 외에도 여러 가지가 있지만(문서 참조), 이러한 것들이 가장 중요합니다.

의견이 높은 질문이라 피오르 제작을 중단하고 빠른 표를 만들었습니다.

enter image description here

라이브러리 비교가 어려운 이유는 많은 매개 변수에서 네 가지 모두가 거의 동일한 작업을 수행하기 때문입니다. Fresco를 제외하면 그 안에는 수많은 새로운 메모리 레벨 최적화가 있기 때문입니다.제 경험을 바탕으로 비교해 보고 싶은 특정 파라미터가 있으면 알려주십시오.

프레스코를 가장 적게 사용했기 때문에 현재의 공격에 사용하고 이해하면서 답이 진화할 수 있습니다.used personally완료된 앱에서 라이브러리를 한 번 이상 사용한 적이 있습니다.

*참고 - Fresco는 이제 GIF와 웹 애니메이션을 지원합니다.

프레스코 출처 | 오프사이트

(-)

  • 거대한 크기의 도서관
  • 뷰, 비트맵 매개변수와 콜백 없음
  • SimpleDraweeView는 wrap_content를 지원하지 않습니다.
  • 대용량 캐시

(+)

  • 매우 빠른 이미지 로더(소형 및 중형 이미지용)
  • 많은 기능(스트리밍, 드로잉 도구, 메모리 관리 등)
  • xml로 직접 설정 가능(예: 둥근 모서리)
  • GIF 지원
  • WebP 및 Animated Webp 지원

피카소 출처 | 오프사이트

(-)

  • 큰 이미지를 인터넷에서 목록 보기로 느리게 로드

(+)

  • 도서관의 아주 작은 크기
  • 캐시 크기가 작음
  • 사용이 간편합니다.
  • UI가 동결되지 않음
  • WebP 지원

글라이드. 원천

(-)

  • 도서관 크기의 라이브러리

(+)

  • 캐시 크기가 아주 작음
  • 사용이 간편합니다.
  • GIF 지원
  • WebP 지원
  • 인터넷에서 ListView로 빅 이미지를 빠르게 로드
  • UI가 동결되지 않음
  • 메모리를 재사용하여 더 적은 GC 이벤트를 생성하는 비트맵 풀

범용 이미지 로더 원천

(-)

  • 제한된 기능(제한된 이미지 처리)
  • 2015년 11월 27일 이후 프로젝트 지원 중단

(+)

  • 도서관의 아주 작은 크기
  • 사용이 간편합니다.

SGS2 (안드로이드 4.1) (와이파이 8.43Mbps) Xamarin이 아닌 Java용 공식 버전에서 테스트했습니다!2015년 10월 19일 저는 글라이드를 사용하는 것을 선호합니다.여기서 더 읽어보세요.글라이드로 외부 스토리지(SD Card)에 캐시 쓰기 방법

이 답변들은 전적으로 제 의견입니다.

답들

  1. 피카소는 사용하기 쉬운 이미지 로더이며, 이미지 로더도 마찬가지입니다.프레스코는 이미지 로딩에 다른 접근법을 사용합니다. 아직 사용하지 않았지만 네트워크에서 이미지를 가져와 캐싱한 다음 이미지를 보여주는 솔루션에 너무 가깝습니다.그 반대로 피카소/이미지로더/글라이드처럼 네트워크에서 이미지를 가져와서 캐싱하는 화면에 이미지를 더 많이 보여줍니다.

  2. 글라이드는 피카소와 어느 정도 교류하려고 노력합니다.Picasso가 작성되었을 때 Picasso의 마인드셋은 HTTP 사양을 따르고 서버가 캐싱 정책을 결정하고 요구에 따라 전체 크기를 캐시하고 크기를 조정하도록 했다고 생각합니다.글라이드는 HTTP 사양을 따르는 것과 동일하지만 크기가 조정된 이미지 대신 크기가 조정된 이미지를 캐시하고 RGB_8888이 아닌 RGB_565로 이미지를 표시하는 등의 다양한 가정을 통해 메모리 사용량을 줄이려고 합니다.두 라이브러리 모두 기본 설정을 전체 사용자 지정할 수 있습니다.

  3. 어떤 도서관을 이용하는 것이 가장 좋은지에 대해서는 정말 말하기 어렵습니다.Picasso, Glide, Imageloader는 기본 설정으로 쉽게 사용할 수 있는 존경 받는 라이브러리이며 테스트가 잘 완료된 라이브러리입니다.Picasso와 Glide 모두 이미지를 로드하고 자리 표시자와 오류 이미지를 갖는 데 1줄의 코드만 필요합니다.행동을 맞춤화하는 데도 많은 작업이 필요하지 않습니다.피카소나 글라이드보다 오래된 라이브러리이기도 한 Imageloader도 마찬가지지만, 사용해 본 적이 없어서 성능/메모리 사용량/커스터마이징에 대해서는 잘 말할 수 없지만 github에서 readme을 보면 사용 및 설정이 비교적 용이하다는 인상을 받습니다.따라서 이 세 개의 라이브러리 중 하나를 선택할 때 잘못된 결정을 내릴 수 없으며, 이는 개인적 취향의 문제입니다.프레스코화의 경우 또 다른 페이스북 라이브러리이기 때문에 그들에게 어떤 결과가 나올지 봐야 한다는 것이 제 의견입니다. 지금까지는 실적이 좋지 않습니다. 페이스북 SDK가 maven Central에 아직 공식적으로 출시되지 않은 것처럼. 저는 2014년 9월 이후로 페이스북 sdk를 사용하지 않았고 2014년 10월 maven Central에 첫 번째 버전을 온라인으로 올린 것 같습니다.그래서 우리가 그것에 대해 좋은 의견을 얻기까지는 시간이 걸릴 것입니다.

  4. 3개의 큰 도서관 사이에는 큰 차이가 없다고 생각합니다.유일하게 눈에 띄는 것은 프레스코지만 그것은 다른 접근 방식을 가지고 있고 새로운 것이며 전투 테스트를 거치지 않았기 때문입니다.

글라이드도 피카소도 완벽하지 않습니다.글라이드가 이미지를 메모리에 로드하고 캐싱하는 방식은 이미지를 훨씬 빨리 로드하는 피카소보다 더 뛰어납니다.또한 인기 있는 OutOf Memory Error를 방지하는 데 도움이 됩니다.GIF 애니메이션 로딩은 글라이드에서 제공하는 킬링 기능입니다.어쨌든 피카소는 글라이드보다 더 좋은 화질로 이미지를 해독합니다.

저는 어떤 것을 더 좋아요?저는 피카소를 아주 오랫동안 사용했지만, 이제 글라이드를 더 좋아한다는 것을 인정해야 합니다.하지만 비트맵 포맷을 ARGB_8888로 변경하고 글라이드가 풀사이즈 이미지와 리사이징 이미지를 모두 캐시하게 하는 것을 추천합니다.나머지 분들은 잘 하실 겁니다!

  • 피카소와 글라이드의 방법 수는 각각 840과 2678입니다.
  • 피카소(v2.5.1)의 크기는 약 118KB이고 글라이드(v3.5.2)의 크기는 약 430KB입니다.
  • Glide는 Picasso가 전체 이미지를 저장하고 처리하는 동안 크기별로 캐시된 이미지를 생성하므로 로드 시 Glide를 사용하면 더 빠르게 표시되지만 메모리는 더 많이 사용됩니다.
  • 글라이드는 기본적으로 메모리 사용량이 적습니다.RGB_565.

+1 피카소 팔레트 도우미용.

피카소 vs 글라이드 에 대해 많은 이야기를 하는 글이 있습니다.

피카소, 유니버설 이미지 로더, 글라이드 중에서 제가 한 벤치마크를 여러분과 공유하고 싶습니다.

Presco는 제가 테스트를 진행하던 프로젝트의 경우 (Drawee view 때문에) 레이아웃을 재구성하고 싶지 않았기 때문에 벤치마크에서 벗어났습니다.

제가 추천하는 것은 유니버설 이미지 로더입니다. 그 이유는 맞춤화, 메모리 소모, 크기와 방법의 균형 때문입니다.

작은 프로젝트가 있다면 글라이드(혹은 프레스코트리)를 선택하겠습니다.

언급URL : https://stackoverflow.com/questions/29363321/picasso-v-s-imageloader-v-s-fresco-vs-glide-vs-coil

반응형