2025년 10월 3일 오늘의 개발 요약
·
개발 요약
AndroidAndroid 성능 튜닝 — Android 애플리케이션의 성능을 최적화하기 위해 여러 접근 방식을 사용할 수 있다. 메모리 관리를 강화하고, 비동기 처리를 통해 UI 스레드의 부하를 줄이며, 불필요한 리소스 사용을 피하는 것이 중요하다. 또한, 프로파일러 툴을 사용하여 성능 병목 지점을 식별하고, 이를 개선할 수 있는 방법을 찾아야 한다. 가비지 컬렉션(garbage collection) 전략을 이해하고, 가능한 경우 객체 재사용을 통해 성능을 보다 개선할 수 있다. 결론적으로, 정기적인 성능 점검과 최적화는 사용자 경험에 긍정적인 영향을 미친다. fun optimizeMemory() { val cachedData = mutableListOf() // 객체 생성 대신 재사용 ..
2025년 10월 2일 오늘의 개발 요약
·
개발 요약
Android안드로이드 성능 튜닝 — 안드로이드 앱의 성능을 최적화하는 것은 사용자 경험을 향상시키는 데 매우 중요하다. 최신 업데이트에서는 메모리 사용량과 CPU 효율성을 개선하는 여러 기능을 도입하였다. 이로 인해 앱이 더 빠르고 반응성이 뛰어나게 된다. 옵티마이저 기능을 활용해 불필요한 리소스 사용을 최소화하고, 코드 스니펫을 통해 메모리 관리 기법을 적용하거나, 비동기 처리를 통해 UI를 부드럽게 할 수 있다. 또한, 디바이스 호환성이나 배터리 소모와 같은 리스크에 대비해야 한다. 성능 테스트 툴을 활용하여 사전 점검을 수행하는 것이 좋다. fun optimizeMemoryUsage() { val bitmap = BitmapFactory.decodeResource(resources, R.d..
2025년 10월 1일 오늘의 개발 요약
·
개발 요약
AndroidAndroid 성능 최적화 — Android 앱의 성능을 향상시키기 위한 여러 팁들이 존재한다. 특히 메모리 관리와 UI 렌더링 최적화는 가장 중요한 요소 중 하나다. 프로파일링 도구를 활용하여 앱의 느려지는 부분을 확인하고, 불필요한 객체 생성을 줄이는 것이 효율적이다. 또한, 비동기 작업을 통해 UI 스레드의 부하를 줄임으로써 사용자 경험을 개선할 수 있다. Gradle의 빌드 최적화를 통해 컴파일 속도를 개선하는 것도 중요한 요소이다. 마지막으로, CI/CD 도구를 활용하여 지속적으로 성능을 모니터링하고 개선하는 것이 필요하다. fun fetchUserData() { GlobalScope.launch { val userData = async { getUserDataF..
2025년 9월 30일 오늘의 개발 요약
·
개발 요약
Android성능 튜닝 가이드 — Android 앱의 성능을 최적화하기 위해 메모리 관리, 스레드 사용, 네트워크 요청, 이미지 로딩 등을 고려해야 한다. 프로파일링 도구인 Android Profiler를 활용하여 CPU, 메모리, 네트워크 상태를 모니터링하고, 불필요한 메모리 할당을 줄이기 위한 코드 개선이 필요하다. 또한, Jetpack의 Paging 라이브러리를 통해 데이터 로딩을 최적화하고, RecyclerView와 ViewHolder 패턴을 사용하여 리사이클링과 스크롤 성능을 향상시킬 수 있다. 마이그레이션 시 성능 저하를 방지하기 위해 앱사이클 최적화도 필수적이다. val handler = Handler(Looper.getMainLooper())handler.postDelayed({ ..
2025년 9월 29일 오늘의 개발 요약
·
개발 요약
AndroidAndroid 성능 튜닝 — Android 애플리케이션의 성능을 최적화하기 위한 기본적인 기법에는 메모리 관리, CPU 사용 최적화, 네트워크 요청 최소화가 포함된다. 우선, 메모리 누수를 방지하기 위해 LeakCanary 같은 도구를 사용해 정기적으로 점검해야 한다. 다음으로, UI 스레드에서의 작업을 줄이기 위해 백그라운드 스레드에서 비동기 작업을 사용하는 것이 필수적이다. 그리고 Retrofit 같은 라이브러리를 사용하여 API 호출을 효율적으로 관리하며, 캐싱을 통해 네트워크 요청을 최소화하도록 설계해야 한다. 마지막으로, 프로파일링 도구를 사용해 애플리케이션의 전반적인 성능을 주기적으로 분석하여 개선점을 찾아야 한다. fun fetchDataFromApi() { // 비동기 ..
Android 인앱 상품(IAP) 등록
·
Android
개발하다 보면 문서나 튜토리얼이 오래되어 있어서 고생할 때가 많다.이번엔 Android 인앱 결제를 적용하면서 삽질했던 내용을 메모 겸 블로그로 정리해본다.1. Google Play Console 설정경로Google Play Console → Play를 통한 수익 창출 → 인앱 상품 → [상품 만들기] 클릭여기까진 아주 기본적인 흐름이다. 하지만...2. [상품 만들기]가 비활성화 되어 있다면?대부분 여기서 막힌다. 나도 처음엔 이유를 몰랐다.해결법은 간단하다. 프로젝트에 BillingClient 라이브러리가 빠져있으면 상품을 만들 수 없다.build.gradle에 아래 코드 추가:dependencies { def billing_version = "7.1.1" implementation "co..
Android Spinner
·
Android
Spinner란 위와 같이 드롭다운 형태로 사용자가 원하는 아이템을 선택할 수 있도록 해주는 레이아웃입니다. Spinner 레이아웃 만들기 먼저 xml 파일에 Spinner 레이아웃을 만듭니다. TextView 는 Spinner 의 아이템들이 어떤 집합에 속하는지 나타내기 위해 만들었습니다. Spinner 안에 들어갈 아이템들을 저장하기 위해 values/string.xml 파일에 string array를 만듭니다. 테스트1 테스트2 테스트3 테스트4 ArrayAdapter 생성하기 Activity 혹은 Fragment 에서 ArrayAdapter 를 생성하여 Spinner 에 적용해줍니다. private fun initSpinner() { ArrayAdapter.createFromResource( re..
Android - Garbage Collection(GC)
·
Android
Garbage Collection Java는 Garbage Collection(GC)을 이용하여 메모리를 관리한다. 필요에 따라 GC가 실행되고, 그 과정에서 사용하지 않는 객체들을 정리해 준다. Garbage Collection의 동작 원리 아래 기술되는 내용은 GC의 모든 것을 다루지 않는다. 그저 GC라는 것이 있고 그것이 어떤 방식으로 돌아간다- 하는 간략한 요약 정도일 뿐이다. 1. 자바에서는 Garbage Collection(또는 GC)를 이용하여 메모리를 정리한다. 1-1. GC는 더이상 사용되지 않는 쓰레기 객체들을 정리하는 작업을 한다. 1-2. GC는 필요에 따라 자동으로 실행된다. (2-2의 경우에 실행된다.) 2. GC에 의해 관리되는 메모리는 Young과 Old로 나뉜다. 2-1...
Android - Manifest & Components
·
Android
Manifest 안드로이드 시스템이 앱의 코드를 실행하기 전에 확보해야 하는 앱에 대한 필수 정보를 시스템에 제공하는 목록 앱의 패키지 이름 앱에서 사용되는 컴포넌트(액티비티, 서비스, 브로드캐스트 리시버, 컨텐트 프로바이더) 권한(Permission) 앱에서 요구하는 하드웨어와 소프트웨어 특징 1. Package name and Application ID 매니페스트 파일의 Root element() 에는 해당 앱의 패키지 네임이 반드시 기재되어야 합니다. "com.ready.example" 이라는 패키지 네임의 manifest 파일 ... 여기서 manifest의 패키지 네임은 우리가 앱을 빌드하여 APK 를 추출하는 과정에서 Android Build Tool 에 의해 다음 2가지 목적으로 사용됩니다...
안드로이드 Activity 생명주기
·
Android
onCreate() : 최초로 앱 실행 시 호출, 초기화 관련 작업 onStart() : 이 시점부터 사용자가 액티비티를 볼 수 있다. onResume() : 액티비티가 실제 사용자와 상호작용이 가능한 포그라운드에 위치하면 호출된다, 액티비티 실행 중 상태 onPause() : 액티비티가 실행 중인 상태에서 사용자와 상호작용이 불가능한 상태, 즉 포커스를 잃은 상태가 되면 호출 onStop() : 액티비티가 더 이상 보이지 않을 때 호출 onDestroy() : 액티비티가 종료되거나 앱 프로세스 자체가 종료되면 호출 ex) 불투명한 새로운 액티비티가 최상단으로 올라와서 기존 액티비티가 완전히 보이지 않게 되면 onPause()에 이어서 onStop()까지 바로 호출된다. 불투명 새로운 액티비티가 최상단으..