DiskLruCache视频

时间:2013-06-11 16:48:31

标签: android caching

我的Android应用从服务器下载了一堆照片和视频,我想要缓存这些数据。我已经使用DiskLruCach库来缓存图像,它工作正常,但现在我也要缓存视频。

我尝试过这样的东西,但似乎没有用 - 我在视频的缓存目录中找不到任何内容:

private boolean writeVideoToFile(String videoUri, DiskLruCache.Editor editor ) throws IOException, FileNotFoundException {
    OutputStream out = null;
    FileOutputStream fos;
    try {
        out = new BufferedOutputStream( editor.newOutputStream(0), Utils.IO_BUFFER_SIZE );
        File videoFile = Utils.createFile(Utils.TYPE_VIDEO_FILE);
        fos = new FileOutputStream(videoFile);
        fos.write(videoUri.getBytes());
        fos.close();
        return true;
    } finally {
        if ( out != null ) {
            out.close();
        }
    }
}

任何人都可以给我一个关于如何实现这个目标的想法吗?

2 个答案:

答案 0 :(得分:1)

信息不足,但我想调用getBytes()是问题,可能是OutOfMemory异常。

不要将整个视频文件读入内存(调用getBytes)。使用一个小的中间缓冲区,通过块写入/缓存视频文件块。

答案 1 :(得分:0)

您正在为字符串 videoUri调用getBytes()。 这真的是你的意思吗?