0
RxJavaを使用してデータベースから取得したビデオのリストがあります。これらのビデオをRecyclerViewsに表示し、途中でサムネイルを生成したいと思います。問題は、サムネイルの生成が遅すぎるため、リストに多数の動画があると画面の読み込みがブロックされるため、サムネイルの生成が遅すぎるということです。RxJavaがアイテムを1つずつ放出する
私が知りたいのは、リスト全体ではなく各アイテムが1つずつ発行され、各アイテムが処理(サムネイルの生成)されたときにフィードされるという方法でビデオリストを取得することです。 UI(おそらくこのアプローチは正しいものではありません)。
これは私のビデオの読み込みコードです:
public void loadVideoList() {
Subscriber<List<LocalVideo>> subscriber = new Subscriber<List<LocalVideo>>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
if (isViewAttached()) {
Timber.e("Error retrieving local videos", e);
getView().showError();
}
}
@Override
public void onNext(List<LocalVideo> videoList) {
if (isViewAttached()) {
getView().showVideoList(videoList);
if(videoList.isEmpty()) {
getView().showNoVideos();
}
}
}
};
mStoredVideoRepository
.getLocalVideos()
.subscribeOn(mScheduleProvider.computation())
.observeOn(mScheduleProvider.ui())
.subscribe(subscriber);
addToSubscriptions(subscriber);
}
をすべての要素は、私はまだ私の画面上に何かを見るためにサムネイルが生成されるまで待つ必要があります –
例を試しましたか?これは、それぞれの番号を別の行に出力します。つまり、このパターンは、リストの最後ではなく個々のサムネイルを取得します。 – akarnokd