HomePostsSearch
KeyFlow LogoKEYLOW
BETAv2026.03.14
2부 - Composable Architecture는 만들었는데 문제가 있었네? 개선해보자.

2부 - Composable Architecture는 만들었는데 문제가 있었네? 개선해보자.

Taehwan kwon (theo)Taehwan kwon (theo)
about 1 month ago(Edited)
14 min read

싱글턴으로 구현한 액션 스트림이 백그라운드에서 좀비처럼 동작한다면? Composable 아키텍처의 치명적인 생명주기 결함과 그 해결책을 공개합니다.

·Reducer 내 자동 nextAction 전파 로직을 제거하고 명시적 호출 방식으로 변경하여 무한 루프 가능성 차단
·DisposableEffect와 LifecycleEventObserver를 활용하여 활성화된 화면에서만 Action 스트림을 구독하도록 개선
·CompositionLocal을 통해 ViewModel 인스턴스 대신 Action Dispatcher를 전달함으로써 계층 구조의 보일러플레이트 감소
SeriesPart 2 of 5

Android Compose Architecture

View All
Previous
1부 - 컴포즈에 사용할 Composable Architecture 설명(리엑트?)
Next
3부 - Composable Architecture에서는 Alert/Toast는 어떻게 사용할 수 있는가?

On this page

  • 이 글에서는
  • 이전 글
  • Action이란?
  • 사용성 측면에서의 개선
  • 정리하면
  • 그래서 발견한 문제
  • 문제점 1 - 무한 루프 가능성 해결하기
  • 문제점 2 - Lifecycle 문제 해결하기
  • 해결 방안: Lifecycle에 따른 구독 제어
  • 위 코드를 활용하는 방법은?
  • 해결했을까?
  • 구독하는 더 좋은 방법은 없을까?
  • Next
Taehwan kwon (theo)

Taehwan kwon (theo)

@taehwandev

[안녕하세요, 태환입니다] 글쓰기 플랫폼 KeyFlow의 운영과 개발을 총괄하고 있는 태환입니다. 사용자가 생각에 집중할 수 있는 환경을 만들기 위해 플랫폼인 키플로우 전체의 기획부터 배포, 관리를 리딩하고 있습니다.

[경험 및 전문성]

  • KeyFlow Management: 서비스의 전반적인 운영을 책임지고 있습니다.
  • Mobile Engineering: 안드로이드와 iOS 플랫폼 모두에서 안정적이고 매끄러운 사용자 경험을 구현합니다. 기기의 특성에 최적화된 에디터와 기능을 개발하는 데 강점이 있습니다.
  • Openness & Stability: 플랫폼의 개방성을 확대하면서도, 시스템의 안정성을 놓치지 않는 균형 잡힌 개발 철학을 추구합니다.

[목표] 단순한 기능 구현을 넘어, 전 세계 사용자가 언어의 장벽 없이 소통할 수 있는 글로벌 플랫폼으로 KeyFlow를 성장시키는 것이 저의 목표입니다.

기술 스택 요약 (Tech Summary)

  • Mobile: Android (Kotlin/Java), iOS (Swift)
  • Highlight: GitHub Gist Integration, AI Language Detection, Cross-platform Optimization
kotlin
1
2
3
4
5
data class User(
  val name: String = "taehwan",
  val bio: String = "Android, iOS",
  val nickName: String = "Theo",
)
Next: 3부 - Composable Architecture에서는 Alert/Toast는 어떻게 사용할 수 있는가?
Was this helpful?Your support means a lot to the author.
Home
Posts
Inbox