2017-01-20 6 views
0

私は100枚の画像を持ち、それらをデバイスに保存したいと思います。一度にすべてをロードしなければならない場合、どちらが速いでしょうか:リソースフォルダまたはsqliteからイメージをBLOBとして読み込みますか?どうして?どれがAndroidで高速ですか?リソースフォルダからイメージをロードするか、sqliteのblobをロードしますか?

また、私はJavaでアンドロイドスタジオを使用しています。

ありがとうございます。

+0

IMHOの2つのアプローチは、お互いの置き換えではありません。それ以外は、Androidバージョン(SQLiteバージョンを駆動するバージョン)、読み込み方法(例: 'ImageView'サイズに合わせたダウンサンプリング)などによって詳細が異なります。 – CommonsWare

+0

最新のSQLiteバージョン。ダウンサンプリングせず、ロードして表示するだけです。 – Nikaoto

+0

"最新のSQLiteバージョン" - 外部SQLiteディストリビューション(Android用のSQLCipherなど)を使用している場合を除き、SQLiteバージョンは制御しません。独自のベンチマークを書いて、さまざまなハードウェアでテストすることをお勧めします。イメージとのパフォーマンスの違い、ローディングと表示のロジックなどが分かります。ヒープスペースが限られていることに注意してください。 100枚の画像がそれぞれかなり低解像度であることを願っています。 – CommonsWare

答えて

1

一度に100枚の画像を読み込むと、携帯端末のメモリが壊れる可能性があります。 しかし、あなたはそのクラッシュにもっと速く到達する方法を知りたければ、それは依存します。 Internal Versus External BLOBs in SQLite:100キロバイトより小さいBLOBの

、BLOBには、データベースファイルに直接保存されているとき、ある速い読み込み SQLiteの作者はすでに実験を行いました。 100KBを超えるBLOBでは、別のファイルからの読み込みが高速になります。

もちろん、お客様のマイル数は、ハードウェア、ファイルシステム、オペレーティングシステムによって異なる場合があります。特定のデザインにコミットする前に、ターゲットハードウェアでこれらの数値を再確認してください。

+0

私はこれを正確に探していましたが、自分のサイトで見つけることができませんでした。ありがとう! – Nikaoto

関連する問題