페이징 라이브러리를 사용했을 때 페이징 크기를 거의 고정적으로 10을 사용했었다. 그 이유를 물어보면 대답하지 못했다. 그냥.. 적당한거 같아서? 어떤 파라미터 값을 정할 때 그에 대한 이유를 정확히 설명할 수 있어야한다. 그래서 이번에 가장 적합한 페이징 크기를 알아보고자 고민해보았다.
일단, 가장 적합한 페이징 크기를 구하기 위해 고려해야할 요소들이 많다. 기기의 성능에 따라 다를 것이고, 화면 크기에 따라 다를 것이고 페이징하여 가져오는 데이터의 메모리 사이즈에 따라 다를 수 있다. 구체적으로 어떤 요소들이 필요할까?
아이템의 크기가 클수록 많은 메모리를 사용하지 않도록 페이징 크기를 줄여야하고, 작을수록 한눈에 보여지는 항목이 많기 때문에 페이징 크기를 크게 잡아야한다.
기기의 RAM 양을 고려해 남은 메모리가 부족할 경우 페이징 사이즈를 줄여야하고, 많이 남아 있으면 페이징 사이즈를 키워도 된다.
페이징 라이브러리를 통해 가져오는 페이징 데이터의 정보가 많을수록 로드되는 메모리양이 많아진다. 그런 경우에는 페이징 크기를 줄일 필요가 있다.
사실상 적당한 페이징 크기를 찾는 것은 굉장히 어려운 일이다. 실제로는 10~20 정도의 페이징 크기를 권장하고 그에 합당한 근거를 증명하는 것은 매우 힘들다고 생각한다. 고려해야할 사항도 많고 결과를 도출한다고 하더라도 그 과정의 비용이 큰 의미가 있을 거라고 생각이 들진 않는다. 그래서 원래 하던대로 나만의 기준을 잡아 페이징 크기를 정하기로 결정했다.
아래 링크는 페이징 크기에 따른 SQLite 쿼리 성능을 실험을 통해 알아본 글이다.