오늘한 일
- 프로젝트를 진행하였다
- 블로그 TIL을 작성하였다
- 1일 1커밋을 하였다
느낌 점
getSharedPreferences를 사용하여 다량에 데이터를 저장하는 것을 옳지않다는 것을 알게 된 후 SQLite로 바꿔서 프로젝트 기간은 조금 더 상승했겠지만 기술을 사용할 때는 남에게 왜 이 기술을 사용했는 지 말해야 한다고 생각하기에 SQLite로 바꾼 것에 대한 후회는 없다 다만 좀 더 빨리 알아 SQLite로 작업하지 못한 것이 아쉬울 뿐
배운 점
Android getSharedPreferences 잘못된 사용
getSharedPreferences는 작은 데이터 조각을 저장하기 위한 용도로 설계되었기에 많은 양의 데이터를 저장하는 데에는 적합하지 않다 자세한 그 이유로
Preference 파일은 XML 형식으로 저장되기 때문에 큰 양의 데이터를 저장하면 파일의 크기가 커지고 읽기 및 쓰기 성능이 저하될 수 있고 Preference 파일은 메모리에 전체 파일을 로드하기 때문에 메모리 사용량도 증가할 수 있기에
많은 양에 데이터를 저장하려면 SQLite 데이터베이스나 파일저장, 외부 서버에 저장하는 방법을 사용해야 한다
내가 단어장 앱을 만들면서 거의 모든 데이터를 getSharedPreferences에 JsonArray를 활용하여 String으로 저장하였는데 이 방법은 옳지 않다는 것을 알게 되어 room을 통해 SQLite로 저장하는 방식으로 바꾸게 되었다
내일 계획
내일은 진짜 코딩 보카를 끝내야겠다