Java 在MediaPlayer中存储/缓冲用于快速访问的文件-文件vs FileInputStream vs FileDescriptor

Java 在MediaPlayer中存储/缓冲用于快速访问的文件-文件vs FileInputStream vs FileDescriptor,java,performance,file,Java,Performance,File,我需要在android mediaplayer中快速切换视频,基本上看不见。为此,我希望尽可能快地存储/缓冲视频 目前,我保存了一个ArrayList。为了将该文件传递给MediaPlayer,我使用FileInputStream.getFD()获取文件描述符 我从各个类的javadoc中得到了以下语句: 文件:“文件和目录路径名的抽象表示。” FileInputStream:“从文件系统中的文件获取输入字节” FileDescriptor:“文件描述符类的实例充当表示打开文件的底层特定于计算

我需要在android mediaplayer中快速切换视频,基本上看不见。为此,我希望尽可能快地存储/缓冲视频

目前,我保存了一个ArrayList。为了将该文件传递给MediaPlayer,我使用FileInputStream.getFD()获取文件描述符

我从各个类的javadoc中得到了以下语句:

  • 文件:“文件和目录路径名的抽象表示。”
  • FileInputStream:“从文件系统中的文件获取输入字节”
  • FileDescriptor:“文件描述符类的实例充当表示打开文件的底层特定于计算机的结构的不透明句柄”
就表现而言,我真的不明白什么课程会在这里产生影响

当我在视频之间切换时,会有短暂的延迟。可以理解地但我想尽可能地减少延误

这是我代码的要点:

mVideoStreams = SomeClass.getMyVideos();
mMediaPlayer = new MediaPlayer();

public void changeVideo(int number)
{
    mMediaPlayer.reset();

    try {
        mMediaPlayer.setDataSource(mVideoStreams.get(number).getFD());
    } catch (IOException e) {
        e.printStackTrace();
    }

    try {
        mMediaPlayer.prepare();
    } catch (IOException e) {
        e.printStackTrace();
    }
    mMediaPlayer.start();
}
是否有一种“最快”的方式来传递这些视频,甚至“缓冲”它们,以便它们存储在内存中并可以快速检索