[SQLite] Android에서 대용량 Cursor load 문제점
안드로이드에서 연락처를 읽기 위해 contact provider를 사용하던 도중 대용량의 데이터를 로드하면 속도가 눈에 띄게 느려지는 현상이 발생했습니다. 물론 말 그대로 대용량이기 때문에 느리기도 하지만, 이런 경우 어떤 방향으로 속도 개선을 해야 할지에 대해 기술해 보려고 합니다. 테스트를 위해 연락처를 4.7만개 넣은 contact의 정보를 읽는 작업을 진행해 보니 시간이 어마어마하게 느립니다. 이는 어떤 단말에서 테스트했는지에 따라 다르고 하나의 연락처에 전화번호를 기본 두 개 정도씩은 가지고 있고, 주소, 이메일을 랜덤 하게 가지고 있는 무거운 데이터로 구성된 연락처 입니다. 만약 "contacts" table을 읽기 위해서는 아래와 같이 query 했다고 가정합니다. fun getContact..