728x90 반응형 SMALL Kotlin3 Kotlin 싱글톤, StaticFieldLeak 걱정 없이 안전하게 구현하기! (Volatile 어노테이션 설명 포함) Android 앱 개발에서 싱글톤 패턴은 앱 전체에서 하나의 인스턴스만 생성하여 공유해야 하는 리소스를 관리할 때 유용하게 사용됩니다. 하지만 싱글톤을 잘못 구현하면 StaticFieldLeak이라는 메모리 누수 문제가 발생할 수 있습니다. 이번 글에서는 Kotlin에서 싱글톤을 안전하게 구현하는 방법과 Volatile 어노테이션에 대해 자세히 설명합니다.1. 애플리케이션 컨텍스트 사용싱글톤이 애플리케이션 컨텍스트를 참조하도록 하면 액티비티 컨텍스트가 아닌 애플리케이션 컨텍스트의 생명주기를 따르므로 메모리 누수를 방지할 수 있습니다.Kotlin class MySingleton private constructor(context: Context) { private val appContext = cont.. 2025. 3. 21. Fragment 간 데이터 공유, ViewModel 하나면 충분해요! Android 앱 개발에서 Fragment 간에 데이터를 공유하고 상태를 유지하는 것은 흔한 일입니다.Singleton 형태의 공유 메모리 영역을 두고 관리하거나 Callback 리스너 등을 이용해 이벤트 또는 파라메터를 전달하여 공유할 수도 있지만 ViewModel을 기반으로 하면 이를 잘 활용할 수 있습니다.특히 MVVM 또는 클린 아키텍처 구조를 기반으로 개발할 때는 ViewModel을 활용하는 것이 효율적입니다. 이번 글에서는 자식 Fragment에서 변경된 데이터를 부모 Fragment에서 알 수 있도록 하는 구조와 ViewModelProvider의 Context를 활용한 Fragment 간 ViewModel 공유에 대해 자세히 설명합니다.1. MVVM/클린 아키텍처 기반 데이터 공유 구조핵심 .. 2025. 3. 21. Android Navigation Component argType, 어떤 타입을 사용할 수 있을까? Android 앱 개발을 하다 보면 Fragment 간에 데이터를 전달해야 하는 경우가 많습니다. 이때 Android Navigation Component의 argType 속성을 사용하면 안전하고 효율적으로 데이터를 전달할 수 있습니다. 하지만 argType으로 어떤 타입을 사용할 수 있는지 궁금하셨던 분들을 위해 자세히 정리해 보았습니다.argType으로 사용할 수 있는 타입argType은 Fragment 간에 데이터를 전달할 때 인수의 타입을 지정하는 데 사용됩니다. 사용할 수 있는 타입은 크게 기본 타입, Parcelable 및 Serializable 타입, 배열 타입으로 나눌 수 있습니다.1. 기본 타입integer: 정수형long: long형float: float형boolean: boolean형.. 2025. 3. 21. 이전 1 다음 728x90 반응형 LIST