Skip to content

[refactor/#93] gif -> webp, json으로 변경#98

Merged
seungjae708 merged 10 commits intodevelopfrom
refactor/#93-gif-to-webp-json
Mar 1, 2026
Merged

[refactor/#93] gif -> webp, json으로 변경#98
seungjae708 merged 10 commits intodevelopfrom
refactor/#93-gif-to-webp-json

Conversation

@seungjae708
Copy link
Collaborator

ISSUE

❗ WORK DESCRIPTION

기존에 GIF로 처리하던 애니메이션 로직을 WebP와 Lottie(JSON)를 모두 지원할 수 있도록
KieroAnimationView로 통합 및 리팩토링하였습니다.

  • webp_parent.webp
  • webp_kid_fire.webp
  • webp_kid_intro.webp
  • kiero_skeleton.json

그렇게 화질이 저하되진 않는듯..?

📸 SCREENSHOT

기능/화면 오늘의 여정 불피우기 알림장 스켈레톤
이미지
Screen_recording_20260225_163256.mp4
Screen_recording_20260225_161244.mp4
Screen_recording_20260225_160522.mp4
Screen_recording_20260225_163604.mp4

@seungjae708 seungjae708 requested a review from a team February 25, 2026 07:53
@seungjae708 seungjae708 self-assigned this Feb 25, 2026
@seungjae708 seungjae708 added refactor ♻️ 코드 리펙토링 ⭐승재 승재 전용 라벨 labels Feb 25, 2026
@seungjae708 seungjae708 linked an issue Feb 25, 2026 that may be closed by this pull request
1 task
@seungjae708 seungjae708 requested review from dmp100, sonms and vvan2 and removed request for a team February 25, 2026 07:53
Copy link
Member

@vvan2 vvan2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

디쌤들이 씩씩하게 잘 넘겨줬네요
화질은 비슷...한거 같은데? 고생했슈

}

else -> {
// 데이터가 없는 상태에서 호출된 경우
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

p2) 이거 기디쌤들한테 말해서 해당 케이스에 대한 화면 만들어 달라할까?
근데 데이터가 없다는게 스케쥴이 없다는건가...? 아님 네트워크?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

아 이거 이전 pr에 수정된 부분인데 아직 반영이 안 돼서 그거 확인해주시면 좋을 것 같아요

.data(type.resId)
.precision(Precision.INEXACT)
.bitmapConfig(Bitmap.Config.ARGB_8888)
.allowHardware(false)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이거 bitmapConfigallowHardware 설정 안하면 오류나는 화면 있나?
저것도 true,false 로 특정 상황에서 조작할 수 있다는데, 음... 이건 제가 공부를 좀 더 해오겠습니다

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

두 설정 모두 이미지 화질을 올리기 위해서 사용했던 설정들이라
설정 안해도 오류는 안나지만 필요할 듯은 합니다..!

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bitmap config 의 기본값은 8888인데 565의 차이로는 투명도를 완벽히 지원하고 고화질을 도와주고 565보다는 좀더 많이 리소스를 잡아먹긴합니다

inexact는 coil이 고화질 이미지를 가져올 때 정확한 픽셀을 전부 맞추기 보다는 적당히 줄여서 가져오는 것을 허용해요

그리고 allow는 true 시 gpu렌더링을 지원할 수 있도록 하는데
이러면 빠르고 RAM 용량도 줄일 수 있지만 일부 안드로이드 기기에서는 gif가 깨지거나 깜빡이는 버그가 생길 수 있어서 false로 두었었습니다
이 부분은 이제 webp로 변경되었으니 true로 둬도 괜ㅊ낳을 것 같습니다!

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

gif에서 webp로 변경되어서 안드로이드 기기와 호환성이 더 좋다고 하네요.
보다 안전해져서 다시 true 사용하는것으로 변경하겠습니다!

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bitmap config 의 기본값은 8888인데 565의 차이로는 투명도를 완벽히 지원하고 고화질을 도와주고 565보다는 좀더 많이 리소스를 잡아먹긴합니다

inexact는 coil이 고화질 이미지를 가져올 때 정확한 픽셀을 전부 맞추기 보다는 적당히 줄여서 가져오는 것을 허용해요

그리고 allow는 true 시 gpu렌더링을 지원할 수 있도록 하는데 이러면 빠르고 RAM 용량도 줄일 수 있지만 일부 안드로이드 기기에서는 gif가 깨지거나 깜빡이는 버그가 생길 수 있어서 false로 두었었습니다 이 부분은 이제 webp로 변경되었으니 true로 둬도 괜ㅊ낳을 것 같습니다!

용량관련해서 궁금한게 생겨서 어제 coil 문서 보고 찾아봤었는데, 이해가 쉽게 바로 설명해 주시는 그는 역시 .... 대 민 성

Copy link
Member

@sonms sonms left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

캬 고생많으셨습니다~

.data(type.resId)
.precision(Precision.INEXACT)
.bitmapConfig(Bitmap.Config.ARGB_8888)
.allowHardware(false)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bitmap config 의 기본값은 8888인데 565의 차이로는 투명도를 완벽히 지원하고 고화질을 도와주고 565보다는 좀더 많이 리소스를 잡아먹긴합니다

inexact는 coil이 고화질 이미지를 가져올 때 정확한 픽셀을 전부 맞추기 보다는 적당히 줄여서 가져오는 것을 허용해요

그리고 allow는 true 시 gpu렌더링을 지원할 수 있도록 하는데
이러면 빠르고 RAM 용량도 줄일 수 있지만 일부 안드로이드 기기에서는 gif가 깨지거나 깜빡이는 버그가 생길 수 있어서 false로 두었었습니다
이 부분은 이제 webp로 변경되었으니 true로 둬도 괜ㅊ낳을 것 같습니다!


@Preview
@Composable
fun KieroLoadingIndicatorPreview() {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

private~

Copy link
Collaborator

@dmp100 dmp100 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이미지 처리하느라 고생많으셨습니다 키하하 덕분에 프로젝트용량도 조금 줄겠군요

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

p3) drawable에 gif들이 지워졌는진 모르겠는지 만약 있으면 지워주시면 좋을거같아용~~!

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

어라라? 바로 지웠습니다!

@seungjae708 seungjae708 merged commit cf08097 into develop Mar 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

refactor ♻️ 코드 리펙토링 ⭐승재 승재 전용 라벨

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[refactor] gif -> webp, json으로 변경

4 participants