더북(TheBook)

4.6.4.5 안드로이드에서 AsyncStorage 최대 용량 설정하기

안드로이드에서 AsyncStorage의 최대 크기는 기본적으로 6MB로 설정되어 있습니다. AsyncStorage에 너무 많은 데이터를 넣는 것을 방지하기 위해서라고 합니다. 이 용량을 초과하면 오류가 발생합니다. 최대 용량을 늘리려면 android/gradle.properties 파일에 다음 코드를 추가하면 됩니다.

android/gradle.properties

(...)
AsyncStorage_db_size_in_MB=10

이 코드는 최대 용량을 10MB로 설정합니다. iOS는 최대 용량이 따로 지정되어 있지 않습니다.

 

4.6.4.6 AsyncStorage의 제한

AsyncStorage는 설정이 매우 간편하고 사용법도 쉽습니다.

하지만 단점도 있어요. 만약 AsyncStorage에서 다루는 데이터의 규모가 커지면 성능이 떨어집니다. 문자열 타입으로만 저장할 수 있기 때문에 데이터가 많아질수록 속도가 느려집니다. 물론 캐싱 시스템, 스로틀링(throttling), 페이지네이션 구현 등으로 성능을 최적화할 수도 있긴 합니다. 하지만 최적화가 코드 몇 줄 추가하는 것처럼 간단하지는 않을 것입니다. 그리고 검색 또는 정렬 기능이 지원되지 않습니다.

따라서 AsyncStorage는 비교적 소규모 데이터를 다룰 때 사용하는 것이 좋습니다. 데이터의 규모가 커졌을 때 사용할 수 있는 대안으로는 realm와 react-native-sqlite-storage가 있습니다(안드로이드의 AsyncStorage는 이미 SQLite를 사용하긴 하지만, react-native-sqlite-storage를 사용하면 인덱싱 기능을 지원받을 수 있고, 더욱 다양한 방식으로 데이터를 저장하고 조회할 수 있습니다).

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.