Development/Android

[Android / Kotlin] Glide로 WebP 파일 재생

SeungYong.Lee 2025. 2. 14. 09:35
반응형

- 앱에서 활용하던 GIF 파일들이 많아지면서 용량이 증가하고 관리 비용에도 점점 문제가 생기기 시작했습니다.

 

- 이에 따라 애니메이션 재생에도 뒤처지지 않고, 용량도 더 적은 WebP 파일을 활용하기로 결정했습니다.

 

- Glide를 활용해 렌더링을 진행했는데, 사실 기존 GIF 파일 재생 방법과 큰 차이가 없습니다. 같은 로직으로 두 가지 종류 파일 모두 호환 가능합니다.

 

- WebP가 GIF보다 나은 점들은 아래와 같습니다.

 

- raw 폴더 하위에 webp 파일을 넣고, Uri 경로를 구성해주어야합니다.

val resourceUri = Uri.parse("android.resource://${context.packageName}/${R.raw.test}")

 

- 해당 Uri 기반으로 로드해 줍니다. url 통신을 기반으로 할 때는 load()에 바로 해당 Webp Url 삽입해 주시면 됩니다.

Glide.with(context).load(resourceUri)
    .listener(object : RequestListener<Drawable> {
        override fun onLoadFailed(
            e: GlideException?,
            model: Any?,
            target: Target<Drawable>?,
            isFirstResource: Boolean
        ): Boolean {
            return false
        }

        override fun onResourceReady(
            resource: Drawable?,
            model: Any?,
            target: Target<Drawable>?,
            dataSource: DataSource?,
            isFirstResource: Boolean
        ): Boolean {
            return false
        }
    })
    .into(imageView)
반응형