2

data:imageFirebaseに保存してみました。

テストした画像ファイルのサイズは 500kb 未満で、画像は 1 つだけです。

画像の保存と取得はOKですが、他の値を更新するtextと非常に遅くなります。

文字の変更ごとにほぼ2分の遅延です。

何か案が?

** http://www.google.com/image.pngを直接使用しても問題ありません。

更新しました

説明付きのプランカーを作成しますhttp://plnkr.co/edit/lRy5vCbu0RXR2pEPKC7y?p=previewをチェックしてください

4

1 に答える 1

4

文字が変更されるたびに、データベース内のすべての画像を取得しています。これは、angularFire インスタンスを画像階層全体に同期したためです。angularFire は on('value') を使用するため、変更のたびにイメージのリスト全体をダウンロードしています。

これを回避するには、child_added/updated/removed に依存する angularFireCollection を使用して、子が変更されるたびにすべての画像ではなく、変更されたときに各子を同期するようにします。

さらに良い解決策は、画像データを別のパスに分割し、何らかの更新カウンターを images/ に配置して、変更されたときに新しい画像を取得できるようにすることです。これらはリアルタイムで同期する必要がありますか? 画像は頻繁に「編集」されていますか?

var app = angular.module('plunker', ['firebase']);

app.controller('MainCtrl', function($scope, angularFire) {
  $scope.name = 'World';

  $scope.images = angularFireCollection('https://datauri.firebaseio-demo.com/images/');

});

背景については、非正規化に関するこの記事を参照してください。

于 2013-08-04T18:50:21.830 に答える