カメラから写真を撮り、ByteArrayに圧縮してデータベースに保存するアプリケーションを作成していますが、データベースから画像を読み取ることによってアプリケーションの処理が遅くなる可能性があるよりも、さまざまな多数の画像がある場合にそれを読みました。画像を (内部メモリまたは SD カードに) 保存し、ListView で表示するのが最適ですか?
ありがとう
カメラから写真を撮り、ByteArrayに圧縮してデータベースに保存するアプリケーションを作成していますが、データベースから画像を読み取ることによってアプリケーションの処理が遅くなる可能性があるよりも、さまざまな多数の画像がある場合にそれを読みました。画像を (内部メモリまたは SD カードに) 保存し、ListView で表示するのが最適ですか?
ありがとう
画像をSDカードに保存します。最善の方法は、ImageCache を使用することです。
データベースに画像を保存すると、クエリの速度が低下するため、一般的には全体的に悪い考えです。
このSOの質問も参照してください。
最良の方法は、別のフォルダーを使用して SD カードに画像を保存することです。(内部メモリを使用すると、他のアプリケーションのインストールに必要なスペースが使用されるため、役に立ちません。)
アプリケーションをロードするたびに、フォルダーの内容を読み取り、リストに入力します。そのために別のデータベースを維持する必要はありません。コードのパフォーマンスを向上させるには、キャッシュ ビットマップを使用します。
ベストプラクティスは私の意見によるものです
catch(Exception e)
句でキャッチされないことに注意してください。データベースに画像を保存するのは悪い考えです。遅いとスペースがかかります。私が知っている最良のオプションは、それらの画像へのパスまたはリンクをデータベースに保存し、実際のファイルをSDカードや内部ストレージなどのストレージに保存することです。または、sdcardに配置するかなりの量のスペースが必要になります。