Xamarin 이미지 읽기 라이브러리 비교 2020

이 글은 Xamarin Advent Calendar 2020의 다섯째 날의 글이다.
FFImageLoading은 이미지 읽기 라이브러리로 유명하며 저도 계속 사용하고 있습니다.
그러나 FFImageLoading은 2019년 5월 최종 발표돼 1년 넘게 업데이트되지 않았다.창고를 보니 최근에도 바뀐 것 같지만 불안해요.
그래서 대체할 수 있는 안드로이드glidex.forms, iOSXamarin.Forms.Nuke가 있는지 조사해 봤어요.둘 다 각자의 플랫폼에서 프로그램 라이브러리를 이식한 것 같다.
둘 다 Forms에 등록된 ImageHandler로 표준 Image 제어에서 그대로 사용할 수 있는 유형으로 저장된 코드는 변경하지 않고 사용할 수 있어 상당히 편리하다.이 수법의 상세한 내용은 여기 기사.에 있으니 흥미가 있으면 보십시오.
그래서 실제 사용해 비교했다.

비교 조건


FFImageLoading은 CachedImage 제어 형식이 아닌 ImageHandler 방식으로 비교됩니다.
다음 CollectionView에서는 이미지에 800KB 정도의 20가지 유형이 사용됩니다.
<CollectionView ItemSizingStrategy="MeasureFirstItem" ItemsSource="{Binding Images}">
<CollectionView.ItemsLayout>
    <GridItemsLayout Span="3" Orientation="Vertical" HorizontalItemSpacing="2" VerticalItemSpacing="2" />
</CollectionView.ItemsLayout>

<CollectionView.ItemTemplate>
    <DataTemplate>
	<Image HeightRequest="60" BackgroundColor="Gray" Aspect="AspectFill" Source="{Binding}" />
    </DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>

iOS


Android


결실


iOS에서는 FFImageLoading과 Nuke의 속도가 많지 않지만 안드로이드에서는 GlideX의 속도가 압도적으로 빠르다.안드로이드의 FFImageLoading은 표준보다 느리다. 그림이 너무 커서 GC가 계속 뛰고 있는 것 같다.그리고 어느 쪽이든 기준이 있어 말로 표현할 수 없을 정도로 무겁다.너무 무거워서 화면이 다 옮겨진 것 같아.

총결산


그림 읽기는 안드로이드에서 glidex입니다.forms, iOS에서 XamarinForms.누크를 사용하세요.
FFImageLoading은 할 수 있는 일이 많지만 앞으로의 업데이트에 대해 불안감을 느낀다.

좋은 웹페이지 즐겨찾기