Android 이미지 로드 라이브러리는 느린 로드 문제를 어떻게 해결하나요?
3288 단어 android
이 블로그에서는 Android Image Loading 라이브러리가 이미지의 느린 로딩 문제를 해결하는 방법을 알아봅니다.
이 문서는 원래 amitshekhar.me에 게시되었습니다.
더 나은 사용자 경험을 위해서는 이미지를 빠르게 로드하는 것이 매우 중요합니다. 우리는 후드 아래에서 어떻게 수행되는지 배워야 합니다.
이러한 개념은 Android 인터뷰와 관련하여 중요합니다.
그래서
Glide
, Fresco
등과 같은 Android의 다양한 Image Loading 라이브러리의 소스 코드를 읽고 있었습니다.이 라이브러리는 우리를 위해 내부적으로 많은 작업을 수행하므로 우리는 라이브러리를 사용하고 작업을 쉽게 완료할 수 있습니다. 그들은 우리의 삶을 더 쉽게 만듭니다.
그들이 하는 일 중 하나는 가능한 한 빨리 이미지를 로드하는 것입니다.
Android Image Loading 라이브러리가 이미지를 빠르게 로드하는 방법을 알아보겠습니다.
느린 로딩은 비트맵을 뷰에 로딩할 때 또 다른 문제입니다. 느린 로딩의 주된 이유 중 하나는 뷰가 창 밖에 있거나 해당 작업이 더 이상 필요하지 않은 경우에도 다운로드 또는 비트맵 디코딩과 같은 작업을 취소하지 않기 때문입니다. 필요하지는 않지만 창에 방금 들어온 실제 이미지를 로드하는 데 시간이 걸립니다.
Glide
및 Fresco
와 같은 이미지 로드 라이브러리는 이를 처리하고 모든 작업을 적절하게 취소하고 사용자에게 표시되는 이미지만 로드합니다.이러한 라이브러리는 활동 및 프래그먼트 수명 주기를 인식하므로 어떤 이미지 다운로드 또는 비트맵 디코딩 작업을 취소해야 하는지 알 수 있습니다.
그들이 활동 및 프래그먼트 수명 주기를 어떻게 인식하는지 생각해야 합니다.
Glide
의 예를 들어 설명하겠습니다.다음과 같이
Glide
를 사용합니다.Glide.with(fragment)
.load(url)
.into(imageView);
여기에서 프래그먼트를 전달하고 있음을 알 수 있습니다. 이렇게 하면
Glide
프래그먼트의 수명 주기 이벤트를 구독합니다. 마찬가지로 액티비티와 뷰에서도 발생합니다.이것이 적절한 시간에 더 이상 필요하지 않은 작업을 취소하여 느린 이미지 로딩 문제를 해결하는 방법입니다. 이러한 라이브러리가 수행하는 또 다른 기능은 두 가지 수준에서 이미지를 캐시한다는 것입니다. 그것에 대해서도 알아봅시다.
디코딩에 시간이 걸리므로 이미지를 반복해서 디코딩할 필요가 없도록 메모리 캐시를 만듭니다. 이러한 라이브러리는 비트맵을 포착하기 위해 일부 구성 가능한 크기의 캐시를 생성합니다.
두 가지 수준의 캐싱을 유지합니다.
라이브러리에 URL을 제공하면 라이브러리는 다음을 수행합니다.
이렇게 하면 메모리 캐시에서 직접 표시하는 것이 항상 더 빨라지므로 로딩 속도가 빨라집니다.
따라서 주로 다음 두 가지 작업을 수행합니다.
이것은 Android Image Loading 라이브러리가 이미지의 느린 로딩 문제를 해결하는 방법에 관한 것입니다.
다음 블로그 게시물에서 이러한 라이브러리가 수행하는 작업에 대해 자세히 알아볼 것입니다.
지금은 그게 다입니다.
감사
Amit Shekhar
다음에서 나와 연결할 수 있습니다.
Reference
이 문제에 관하여(Android 이미지 로드 라이브러리는 느린 로드 문제를 어떻게 해결하나요?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/amitiitbhu/how-does-the-android-image-loading-library-solve-the-slow-loading-issue-2m2h텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)