-
사용자 경험을 고려한 NestedScroll 계층 구조 전략Android 2025. 9. 17. 08:56
개발하고자 하는 화면은 앱의 메인화면으로, 다양한 컴포넌트로 구성되어 있다. 화면 안에서 사용성을 해치지 않으면서 모든 구성요소들을 적절하게 표시하는 전략이 필요했다. 이런 구성을 한 화면에 알맞게 담기 위해 중첩 스크롤과 고정헤더 그리고 스크롤 이벤트 발생 시 우선순위 조정을 기획에 맞게 처리하였다. 그 과정에서 겪은 이슈와 해결 방법을 정리한다. 화면 요구사항 사용자 경험을 고려하며 적절한 화면 스크롤 처리 전략을 구성하기 위해 다음 기획을 따른다.1. AppBar와 Bottom Navigation을 제외한 나머지 영역에 대해 스크롤이 가능하다.2. 기기 목록은 전체 영역에 대한 스크롤과 별개로 내부적으로 스크롤될 수 있다.3. 전체 영역 스크롤 시 방 목록은 사라지지 않고 AppBar 하위에 고정되..
-
Macrobenchmark를 이용한 성능 분석Android 2025. 9. 13. 16:03
수치 기반으로 이야기하기개발을 업으로 삼으면서 개발 과정에서 생기는 프로젝트의 문제점을 파악하고 해결하는 것을 담당하고 있다.프로젝트 개발 과정에서 문제점을 인지하는 것에 그치는 것이 아니라 문제를 정확히 분석하는 것이 중요하다.내가 생각한 문제가 사실은 다른 원인으로 발생하는 것이라면 의미 없는 리소스에 시간을 버리는 것이다. 인지 가능한 문제가 어떤 케이스, 빈도, 시간에 발생하는지 명확해야 올바른 해결책을 제시할 수 있다.이를 위해선 가능한 모든 문제를 수치 기반으로 이야기해야 한다. 해결 또한 마찬가지다.기존 대비 얼마 큼의 개선했는지를 숫자로 이야기할 수 있어야 한다. 캐시 전략 도입, 화면 로딩 속도 개선을 진행하며 사용한 성능 분석 도구를 공유한다. 성능 분석 도구, Macrobenchmar..
-
캐시 전략 도입, 화면 로딩 속도 개선Android 2025. 9. 13. 11:12
화면 데이터 수집의 문제점회사에서 개발하고 있는 앱은 여러 IoT 기기의 상태를 확인하거나 손쉽게 제어하기 위해 화면에 다양한 데이터를 보여준다.화면 데이터는 계층 구조로, 사용자 계정부터 계정에 연결된 장소, 장소에 연결된 기기, 기기에 연결된 자동화 등으로 구성된다. 데이터를 가져오기 위해선 데이터 별 API를 개별적으로 호출해 데이터를 수집해야 한다. 플랫폼 정책상, 모든 데이터를 단일 호출로 가져올 수 없다. 문제는 화면 데이터는 계층 구조로 되어 있으므로 순차적으로 호출할 수밖에 없는 구조라는 것이다. 사용자 계정에 설정된 현재 장소의 최소 정보를 이용해 장소 정보를 조회하고 결과를 받으면 하위 데이터를 순서대로 호출하는 것이다. 물론 모든 데이터가 해당하는 것은 아니므로 가능한 병렬 호출로..