배경 개발을 해놓고 나니 메모리가 이미지를 로딩하는 등 앱을 지속적으로 실행시키면서 메모리가 슬금슬금 증가하는 모습을 안드로이드 프로파일러를 통해서 발견했다. 앱을 사용하면서 지속적으로 새로운 것들을 사용하기 때문에 메모리가 증가하는 것은 어떻게 보면 당연하지만, 문제는 사용하지 않는 것들에 대해선 적절하게 GC가 수거해주어야 하고, 그에 따라 메모리가 줄어들고 난 뒤에 다시 늘어나는 경향을 보여야 하는데 메모리 사용량이 지속적으로 늘어나기만 하는 모습을 보였다. 이는 어디에선가 사용하지 않는 객체를 해제하지 않아 메모리를 지속적으로 차지하고 있는, 메모리 누수가 일어나고 있는 것으로 판단하였고 이를 개선하기 위해 메모리 누수에 대해 알아보고 개선하고자 하였다. 이러한 판단의 배경에는 저사양 기기로 테스..
개요 무한스크롤 구현과 관련된 내용을 찾아보다, 무한스크롤이 메이저 UX에서 버려지고 있는 추세라는 점을 알게되었다. 여전히 많은 앱들에서는 체류시간 증가를 위해 무한 스크롤을 사용하고 있지만, 사용자에게 UI를 사용하는 액션 자체에 중독시킨다는 디자인 윤리의 문제, 푸터로 접근이 불가능한 형태로 구현되는 경우가 많다는 점이 그 이유였다. 특히, 페이지네이션과 콘텐츠 로드가 디자인 윤리라는 관점에서 접근한다는 것은 단순히 모바일 개발만 하던 나에게 새로운 관점이었다. 사실, 서비스를 개발하는 입장에선 단순히 어떻게 하면 사용자를 붙잡을 수 있을지, 불편함을 느끼지 않을지 정도까지가 가지고 있는 생각이었는데, 이를 기획하거나 디자인하는 입장에서는 윤리와 같은 부분까지 고려한다는 점에서 모바일 환경의 서비..
이어지는 글 [Android] RecyclerView Deep Dive - 1. RecyclerView 정의와 동작원리 및 생명주기 개요 이전에 RecyclerView에 대한 글을 정리한 적이 있었다. 당시에는, RecyclerView의 등장 의의와 RecyclerView를 사용하는 경우에 구현해야 하는 구현부에 대한 내용을 중심으로 작성했었다. 2022.12.22 - [I hodie.tistory.com RecyclerView.ViewHolder에서의 ViewTreeLifecycleOwner 사용 참고: https://pluu.github.io/blog/android/2021/09/20/lifecycleowner/ 기존 ViewTreeLifecycleOwner 사용시 기존 onBindViewHolder..
개요 이전에 RecyclerView에 대한 글을 정리한 적이 있었다. 당시에는, RecyclerView의 등장 의의와 RecyclerView를 사용하는 경우에 구현해야 하는 구현부에 대한 내용을 중심으로 작성했었다. 2022.12.22 - [IT/Android] - [Android] RecyclerView 이해하기 이외에 RecyclerView에서 사용하는 Adapter를 중심으로 알아봤었다 2022.12.23 - [IT/Android] - [Android] RecyclerView 갱신의 효율성을 높이는 방법 그러나 RecyclerView를 사용하면서, 근본적인 RecyclerView에 대한 이해를 필요로 하는 일이 늘어났고 특히, RecyclerView의 내부 동작에 대한 이해가 필요로 하는 일이 늘어..