전체 글(382)
-
KMP vs CMP
🌟 들어가기 전지난 번에는 Android와 iOS 모두 개발 가능한 KMP를 알아보았다.그런데 이건 UI를 각각 네이티브에 맞춰 따로 개발해야 하는 이슈 !!! 그럼 내가 SwiftUI를 다시 배워야 하냐구우~?!?!?!?!!! 그래서 그럴 필요가 없는 CMP를 체크 ✅ 🔍 세부 내용KMP (Kotlin Multiplatform)정의: Kotlin을 사용하여 여러 플랫폼(Android, iOS, JVM, JS 등)에서 동작하는 코드를 작성할 수 있도록 하는 기술.주요 특징:공유 코드: 비즈니스 로직, 네트워크, 데이터 레이어 등을 공통 모듈에서 구현 가능.각 플랫폼별 구현 가능: expect/actual 키워드를 사용해 플랫폼별 코드 작성 가능.UI 분리: 각각의 플랫폼에 맞춰 UI 제작CMP (Co..
2025.01.25 -
Kotlin Multiplatform (KMP)
🌟 들어가기 전하이브리드 앱 하면 흔히들 떠올리는 게 RN과 플러터일까?하지만 안드로이드에는 KMP가 있다 ~!! 심지어 KMP로는 android, ios 뿐만 아니라 서버까지 가능하다구!!!!!!그러면 대체 KMP는 무엇이란 말인가. 🔍 세부 내용Kotlin Multiplatform (KMP)Kotlin Multiplatform (KMP)는 JetBrains가 개발한 Kotlin 언어를 기반으로여러 플랫폼(Android, iOS, 웹, 데스크톱 등)에서 공통 코드를 작성하고 재사용 할 수 있도록 지원하는 기능이다.이를 통해 중복된 코드를 줄이고 생산성을 높이면서도 각 플랫폼의 고유한 기능을 활용할 수 있다.코드 공유: 비즈니스 로직, 데이터 처리, API 호출 등 플랫폼 간 중복된 코드를 통합.플랫..
2025.01.24 -
JVM이란?
1. JVM이란?JVM은 자바 프로그램 실행의 핵심 엔진이며, 바이트코드를 기계어로 번역하고 실행한다. (1) 바이트 코드 실행자바 소스 코드(.java)는 컴파일러(javac)에 의해 바이트코드(.class)로 변환된다.JVM은 이 바이트코드를 실행 가능한 기계어로 번역하여 실행한다.플랫폼 독립성을 보장하는 이유가 바로 이 바이트 코드 때문!!(2) 플랫폼 독립성 제공자바 프로그램은 특정 운영체제에 의존하지 않는다.JVM이 설치되어 있다면 어떤 환경에서든 동일하게 실행할 수 있다.(3) 메모리 관리JVM은 프로그램 실행 시 필요한 메모리를 자동으로 관리한다.주요 메모리 영역:Heap: 객체와 인스턴스 변수가 저장됨 (GC에 의해 관리)Stack: 메서드 호출과 지역 변수가 저장됨 (힙보다 빠른 접근)M..
2025.01.23 -
싱글톤(Singleton) 패턴과 Kotlin에서 object 객체
🌟 들어가기 전요즘 메모리 최적화 이슈에 대해 관심이 많다.그렇게 메모리에 대해서 보다가 유독 눈에 띄는 게 있었다. 바로 Kotlin에서 Object 객체 !! 늘 그냥 쓰라니까 써왔던.익숙하지만 낯선. 그 존재에 대해 파헤쳐봤다. 🔍 세부 내용1. 싱글톤 패턴(Singleton Pattern)싱글톤 패턴은 객체의 전역적 유일성을 보장하는 디자인 패턴이다.이를 통해 하나의 인스턴스만 사용하며, 여러 곳에서 동일한 객체를 공유하거나 관리할 수 있다.전역상태 관리: 애플리케이션에서 하나의 상태를 유지하고 여러 곳에서 공유할 때 사용 (ex. 로그인 세션, 앱 설정, DB 연결)자원 절약: 객체가 여러번 생성되지 않도록 보장하여 메모리 사용 절감일관된 상태 유지: 하나의 인스턴스를 통해 상태를 일관되게 ..
2025.01.22 -
Android에서 OkHttp 통신 시 Memory를 최적화 하기 위한 체크 포인트
🌟 들어가기 전최근 회사에서 관리하는 앱이 OOM 이슈가 자꾸 일어난다.RxJava 배압 이슈인가 하고 확인해봤더니 그 원인은 아니었다. Firebase의 Crashlytics를 뜯어본 결과 OutOfMemoryError는 okhttp 통신 시 발생하였고,이 부분에서 메모리 누출이 의심되었다. 그렇다면 OkHttp 통신할 때 Memory를 최적화하기 위한 체크 포인트는 무엇이 있을까? 🔍 세부 내용1. ConnectionPool 사용 추가연결 관리를 최적화하기 위해 명시적으로 ConnectionPool을 추가하면, OkHttp에서 연결을 재사용하여 새로운 연결을 생성하거나 닫는 작업을 줄여준다.// ConnectionPool 설정 추가ConnectionPool connectionPool = new C..
2025.01.21 -
Android에서 푸시 알림이 오지 않는 경우 체크할 사항
🌟 들어가기 전회사 프로젝트에서 이슈가 발생했다.무음 모드에서 푸시 알림이 안온다는 것 ㅠㅠ무음모드라고 푸시 알림을 통제할 수 있는게 아닌데? 회장님 지인 폰에서 발생한 이슈라서 직접 확인도 불가하지만 삐뽀삐뽀- 긴급 상황이었다.그래서 그 외에 푸시 알림이 누락되는 경우가 어떤게 있는지 체크해보았다. 🔍 세부 내용1. 방해금지모드 여부방해금지 모드인 경우에는 푸시 알림 표시가 제한될 수 있습니다.2. Android Doze 모드Android 6.0부터는 기기가 사용되지 않는 동안 앱 활동과 네트워크 작업을 제어하는 Doze(절전) 모드가 생겼습니다. 2-1) Doze 모드가 작동하는 조건화면이 꺼져 있음.기기가 충전 중이지 않음.사용자가 기기를 움직이지 않음(센서 데이터를 통해 감지).네트워크와 작업..
2025.01.21