少し問題があります。正しい方向に軽く動かす必要があります。 私はVineやInstagramのようなビデオエディタをやっています。ビデオのスクリーンキャプチャを含むタイムラインを表示する場所 RecyclerViewと非同期読み込み
動画の再生時間に応じて写真が追加されます。私のアプリで何をしたのは、私がrecyclerViewを追加したことです。このrecyclerviewはこれが動作し、それは私がしたい画像の適切な量を追加し
public Bitmap getFrameFromCurrentVideo(int seconds) {
Bitmap bitmap = null;
if(mMediaMetadataRetriever != null) {
bitmap = mMediaMetadataRetriever.getFrameAtTime(seconds * 1000000, MediaMetadataRetriever.OPTION_CLOSEST);
}
return bitmap;
}
onBindViewHolder次の関数たびに呼び出して、アダプタを持っています。しかし、問題はUIスレッドでは重すぎるということです。 recyclerViewはすべてをリサイクルしているからです。それはフレームを取得する必要があるたびに遅れます。
私はいくつかの非同期タスクを実行してからイメージをキャッシュしなければならないと思っていました。しかし、私が読んだのは、AsyncTaskはリサイクルされて以来、リサイクルビューには推奨されていないということです。
パフォーマンスを強化するにはどうすればよいですか?いいアイデア?
上に読み取るためのキャッシング
もhttps://developer.android.com/reference/android/os/AsyncTask.html上に読みたい場合は、私はよく分からないhttps://developer.android.com/training/displaying-bitmaps/cache-bitmap.htmlをお勧めすることができます。グライドを使ってイメージをロードしようとしましたか?グライドは画像を自動的にキャッシュします。 –