2016-04-28 8 views
0

私のプロジェクトには小さな要件があります。インターネットがない場合はイメージを表示したいと思います。私は自分のWebサーバーから画像を取得します。私はImageLoader/Glideを使用してイメージURLをImageViewオブジェクトにロードしています。オフラインでイメージを表示するにはキャッシュされていますが、イメージを削除するか新しいイメージがあるときはキャッシュをクリアしてイメージを再度ロードします。私はこのプロセスを実行すると、いつかは動作しない場合があります...だから、イメージをBLOBに変換しないのはなぜかと思いました。私はすべてをBLOB形式に変換してオンラインに保存しました。androidのBlobまたはImageURL

I持ってここに二つの質問:

  1. オフライン表示用のより高速なロードイメージを作るBLOBおよび画像形式でブロブを変換するのだろうか?

  2. blobをJson配列のStringで送信し、blobに変換して保存するか、またはimageURLが既にあるので、URLを変換して携帯電話のローカルデータベースに保存する方が高速ですか?

誰かが上記の要件についてあなたのアイデアを投げ捨てることができますか?

ありがとうございます!

答えて

0

this testによると、ブロブを使用するパフォーマンスは、sqliteのサイズと構成によって異なります。

BLOBサーバ側またはクライアント側のみ

だから私は、なぜブロブに画像を変換しないと思いました。私は をすべてBLOB形式に変換してオンラインに保存しました。

サーバーサイドで変換する必要はありません。いつものようにイメージファイルをダウンロードすると、コンテンツを読んでデータベースにblobとして保存することができます。その後、画像ファイルを保存する必要はありません。

各画像のサーバーを呼び出すのではなく、サーバーがすべてのコンテンツを1回の呼び出しで返すようにすると、ダウンロード時間が短縮される可能性があります。すべてのデータを処理する場合、コストがメモリになります。

転送エラーの可能性があるため、ユニークではなく複数のリクエストを行うことができます。同期操作全体よりも1つの画像が壊れている可能性があります。検出して回復するのが簡単です。私は一度BLOBを使用してみましたファイル

BLOBは、当時私はいつも何に来ました。ファイルをダウンロードしてフォルダに保存し、URLをデータベースに保存します。私が好きではなかったさまざまな理由はほとんど純粋に主観的なものです。

  1. データベースが大きくなります。
  2. 私はデータベースを(私は書き込み/更新の話ではない)私が必要とする情報を、私が1つを使用せずに実装できるよりも速く、より確実に見つけることができると感じています。ファイルの内容は本当にそこに行くdoes not ..(テストリンクに見られるように)実際には遅くなり、他のすべてを遅くすることもできます。

このような操作のためにライブラリを使用したことはありませんでしたので、この問題や制限は一度もありません。むしろライブラリを使用する場合は、別のライブラリをテストすることをお勧めします。

関連する問題