Миниатюра загрузки видео в gridview очень медленная - PullRequest
0 голосов
/ 28 апреля 2019

Создание эскиза видео с использованием растрового изображения из каталога внешнего хранилища. Загрузка сетки очень медленно загружалась. Есть ли какие-нибудь способы сделать это быстрее и проще сделать миниатюру?


private void populateVideoFiles() {
        String videoReceivedPath = Environment.getExternalStorageDirectory() + "/Media/Video/";
        String videoCache = Environment.getExternalStorageDirectory() + "/Media/Temp/";
        list_VideoPropFiles = new ArrayList();
        File[] allFiles = new File(videoReceivedPath).listFiles();
        for (int i = allFiles.length-1; i >=0 ; i--) {
            if (allFiles[i].isFile()) {
                totalSize += allFiles[i].length();
                numofFiles += 1;
                String cacheFileName = videoCache + allFiles[i].getName() + ".jpeg";
                Bitmap bitmap = ThumbnailUtils.createVideoThumbnail(allFiles[i].toString(), MediaStore.Video.Thumbnails.MINI_KIND);
                if(bitmap != null) {
                    writeExternalToCache(bitmap, cacheFileName);
                } else {
                    Bitmap no_thumbs = BitmapFactory.decodeResource(getActivity().getResources(), R.drawable.nothumbs);
                    writeExternalToCache(no_thumbs, cacheFileName);
                }
                list_VideoPropFiles.add(new VideoProperties(allFiles[i].getAbsolutePath(), cacheFileName, String.valueOf(allFiles[i].length()), false));
            }
        }
    }
...