안녕하세요. 예전 같았으면 '성능을 고려해서 파일 경로만 DB에 저장하세요'가 정답이겠지만 변경된 보안 정책 때문에 안드로이드 개발 환경에서 이미지 파일을 어떻게 다룰지 고민을 하게 됩니다.
stackoverflow나 reddit에서 검색한 바로는 많은 안드로이드 개발자들이 imagePicker로는 external storage에서 contentUri밖에 받아올 수 없기 때문에 결국 파일을 internal storage로 복사하고 그 사본에 대한 정보를 DB에 넣는 방식으로 이미지 파일을 처리하는 거 같네요.
만일 그렇다면 아예 이미지를 바이트스트림 형태로 DB에 저장해버리는 방식도 나쁘지 않은 선택 아닐까요? 어쨌든 이 방법의 위험성은 이미지 파일 용량으로 DB가 늘어난다는 점인데 그건 internal storage로 파일을 복사하는 것도 마찬가지잖아요. 최근에 살펴본 tutorial 중에 TypeConverter를 사용해서 이미지를 DB에 바이트스트림 저장하거나 비트맵으로 꺼내서 사용하는 예제가 몇 개 있었는데 실제로 이렇게 많이들 사용하시는지 궁금흡니다. (물론 gif 파일 포맷은 사용하지 못하도록 필터링해야겠죠.)