분류 전체보기60 나모의 코루틴 사용 나모의 코루틴 사용기안드로이드 코루틴을 활용해서 어떻게 개선했는지 공유해봤습니다.namo-log.vercel.app안녕하세요! 돌아온 나모의 안드로이드 개발자 짱구입니다. 오늘은 리팩토링 과정 중, 코루틴을 활용하여 나모의 데이터 접근 패턴을 어떻게 효율적으로 개선했는지에 대해 공유하고자 합니다.기존의 문제점기존에는 api를 호출할 때 Thread를 사용하여 데이터베이스 작업을 수행하고, join()을 통해 메인 스레드에서 작업의 완료를 기다리는 방식을 사용했습니다.1. 메인 스레드의 과부하와 성능 저하기존 방식에서는 Thread와 join()을 사용하여 데이터베이스와 네트워크 작업을 처리했습니다. 이 과정에서 데이터를 요청하고 결과를 기다리는 동안 메인 스레드가 블로킹되어.. 2024. 4. 23. 나모의 클린하고 싶은 아키텍처 https://namo-log.vercel.app/android-clean-architecture 나모의 클린하고 싶은 아키텍처 나모에서 사용한 클린 아키텍처에 대해 공유합니다. namo-log.vercel.app 안녕하세요! 나모의 안드로이드 개발자 짱구입니다. 23년 12월 31일, 마참내! 나모(안드로이드)가 런칭 되었습니다. 하지만, 런칭 직후 발견된 버그들이 있었고, 개선되어야 할 기능들이 추가되면서.. 유지보수 및 리팩토링의 필요성을 느끼게 되었습니다. 기왕 하는 김에 제대로 한번 해보자! 회의 끝에 기존 사용하던 MVC 구조를 갈아엎고 유지보수에 용이한 클린 아키텍처를 도입해보기로 결정했습니다. (공부도 할 겸 ^^7) 이번 포스트에서는 클린 아키텍처와 나모에서 이를 어떻게 사용하고 있는지 .. 2024. 4. 9. [안드로이드] Context # Context란? Context는 직역하면 애플리케이션의 현재 상태의 맥락(context)입니다. 객체가 현재 어떤 일이 일어나고 있는지에 대한 정보를 제공하는 인터페이스입니다. 안드로이드에서 Context는 리소스를 가져오거나 View와 관련된 작업을 별도의 클래스나 함수로 분리하기 위해 파라미터로 Context로 넘기는 등 애플리케이션 내에서 매우 광범위하게 사용됩니다. 광범위하게 사용된다는 것은 라이프 사이클을 고려해야 된다는 것과 이어질 수 있는데, Context는 잘못 사용하면 애플리케이션의 메모리 누수를 발생시킬 수 있으므로 매우 주의해야 합니다. # Context 종류 Application Context : 애플리케이션과 생명 주기가 연결되어 있는 싱글톤 인스턴스로, getApplicat.. 2023. 8. 7. FragmentManager FragmentManager란? FragmentManager는 Fragment의 추가, 제거, 교체하고 백 스택에 추가하는 등과 같은 트랜잭션을 관리하는 클래스입니다. FragmentManager를 사용하면 Fragment의 라이프 사이클을 다루고, 백스택을 활용해 사용자의 이전 상태로 복귀하는 등의 작업을 수행할 수 있습니다. FragmentManager에 접근하기 FragmentManager는 모든 FragmentActivity와 그 subclass(AppCompatActivity)에서 getSupportFragment() 메서드를 통해 접근할 수 있습니다.액티비티가 아닌 프래그먼트에서도 FragmentManager에 접근하여 부모 컴포넌트(액티비티 또는 프래그먼트)나 자식 컴포넌트를 관리할 수 있습.. 2023. 7. 31. 이전 1 2 3 4 ··· 15 다음