Sqlite가 파일기반 DB로 알고있는데요. 그렇다면 file입출력으로 데이터를 저장/로드 하는것에 비해 어떤 장점이 있나요?
물론 여러 복잡한 쿼리가 필요한 경우에는 Sqlite가 훨씬 쓰기 편리하겠지만, 제가 알고 싶은건 Sqlite가 파일 기반 인데, 그냥 직접 file입출력을 하는것과 어떠한 차이가 있는지 궁금합니다. 가령 간단한 정보를 얻어 오는것은 file입출력이 더 빠르다던지.. 뭐 이러한 각각 사용의 장/단점이 있는지 궁금합니다.
알고 계신 내용이 정확합니다.
간단한 정보는 단순 파일 입출력이 더 빠릅니다. 그렇기 때문에, 그럴경우 사용하라고, SharedPreference 클래스가 제공되고 있습니다. 단, 한 가지, 유의할 점이 있습니다. 안드로이드 디바이스마다 사용중인 File System 이 다른데, 안드로이드 2.3 이 후 버전 부터 ext4 이 주로 사용되고 있습니다. Ext4 FileSystem 은 File I/O 작업이 일어날 때, 중간에 버퍼링 레이어가 껴있기 때문에, 실제로 File I/O 작업이 완료되지 않았음에도 작업이 완료되었다고 결과가 Return 될 수 있습니다. 따라서, 이런 경우 테스트를 수행해보면, 생각보다도 훨씬 일반 File I/O 작업의 성능이 높게 나타날 수 있는데... 이는 정확한 결과값이 아닐 수 있음을 주의하셔야 합니다.
http://huewu.blog.me/110099015747