pile·
모바일·discord-blogdiscord-blog·

Supercharging Discord Mobile: Our Journey to a Faster App

문제많은 서버에 가입한 Discord 모바일 파워 유저는 메모리 사용량과 프레임 드롭, 채팅 스크롤 지연, 이모지 피커 블랭킹 같은 성능 문제를 겪었다.

접근서버 리스트를 가상화해 화면 밖 항목을 메모리에서 제거하고, Android 이모지 피커는 React Native에서 네이티브로 다시 만들었다. RecyclerView 기반 FastestList와 View Portaling 기법으로 블랭킹을 해소했다.

결과서버 100개 이상 유저의 메모리 사용 14%, 시작 시간 10% 줄었다. 느린 프레임이 60% 감소했고, 저사양 기기에서도 60fps WebP 애니메이션이 돌아간다.

discord-blog
discord-blog 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. 모바일·LINE EngineeringLINE Engineering·

    AttributedString 구조로 풀어낸 대규모 iOS 설정 시스템

    문제대규모 iOS 설정 화면을 모든 종류의 UI 요소(텍스트 / 스위치 / 링크 / i18n) 와 함께 다루기 어렵다.

    접근Swift AttributedString 구조로 설정 항목 모델을 통합. 텍스트와 인터랙티브 요소를 한 모델로 표현해 일관된 렌더링/다국어 처리 가능하게.

    결과설정 화면이 단일 데이터 모델로 통합돼 유지보수가 쉬워졌다. 새 설정 추가 시 코드 변경 최소화.

    #ios#swift#attributedstring+2
  2. 모바일·스포카스포카·

    KMP/CMP 마이그레이션, 정말 프로덕션에서 가능할까? - 키친보드 앱 마이그레이션 도전기

    문제Kotlin Multiplatform (KMP) + Compose Multiplatform (CMP) 이 프로덕션 환경에서 정말 쓸 만한지 의문이 많다.

    접근스포카 키친보드 앱을 KMP/CMP 로 마이그레이션. iOS/Android 코드 공유율, 빌드 시간, 디버깅 경험, native 통합 시 마주친 함정까지 솔직 리뷰.

    결과부분 영역에서 KMP 가 충분히 production-ready. 단점 영역(특히 iOS 디버깅) 도 명확히 식별.

    #android#ios#cross-platform+2
  3. 모바일·당근당근·

    200MB 모듈을 팀 단위로 해결하기: 당근 숏폼팀의 On-demand Dynamic Feature Module 도입

    문제당근 숏폼팀의 모듈이 200MB 까지 커져 빌드 시간 / 메인 APK 사이즈가 문제가 됐다.

    접근Android Dynamic Feature Module (DFM) 로 숏폼 기능을 on-demand 로 분리. 사용자가 진입할 때만 다운로드.

    결과메인 APK 사이즈 감소 + 빌드 시간 단축. 팀 단위 코드 소유권도 명확해짐.

    #android#dynamic-feature-module#modularization+2