I am creating a file manager and I'd like to create thumbnails for videos/pictures on device. But when I scroll items too fast, the performance falls and sometimes my app just crashes because too many thumbnails are being created at one time
The main BIND part of my ViewHolder:
new Thread(new Runnable() {
                @Override
                public void run() {
                    final Bitmap[] btm = {null};
                    if(mimeType.startsWith("video/") || mimeType.startsWith("image/")){
                        if(mimeType.startsWith("video/")){
                            btm[0] = ThumbnailsHelper.createThumbForVideo(file.getAbsolutePath());
                        }else if(mimeType.startsWith("image/")){
                            btm[0] = ThumbnailsHelper.createThumbForPic(file.getAbsolutePath());
                        }
                        getActivity().runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                mFileIcon.setImageBitmap(btm[0]);
                            }
                        });
                    }
                }
            }).start();
My RecyclerView settings:
    mRecyclerView.setItemViewCacheSize(20);
    mRecyclerView.setDrawingCacheEnabled(true);
    mRecyclerView.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_HIGH);
In apps like ZArchiver or similar I saw that thumbnails are shown only when user isn't scrolling RecyclerView items. So, how can I improve the situation and maybe anybody knows how to make it like in ZArchiver?
 
     
    