Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java URI与文件性能_Java_Android_Performance_File_Uri - Fatal编程技术网

Java URI与文件性能

Java URI与文件性能,java,android,performance,file,uri,Java,Android,Performance,File,Uri,我最近一直在处理文件。我想知道URI和文件之间的区别是什么。基本上在代码中: List<Uri> uris = new ArrayList<>(); for (Uri uri : uris ) { Bitmap bitmap = BitmapFactory.decodeFile(uri.getPath()); } for (File file : listOfImageFiles

我最近一直在处理文件。我想知道URI和文件之间的区别是什么。基本上在代码中:

  List<Uri> uris = new ArrayList<>();
    for (Uri uri : uris
            ) {
        Bitmap bitmap = BitmapFactory.decodeFile(uri.getPath());
    }

    for (File file : listOfImageFiles
            ) {
        Bitmap bitmap = BitmapFactory.decodeFile(file.getPath());
}
List uris=new ArrayList();
for(Uri:Uri)
) {
位图Bitmap=BitmapFactory.decodeFile(uri.getPath());
}
对于(文件:listOfImageFiles)
) {
位图Bitmap=BitmapFactory.decodeFile(file.getPath());
}

哪个更快?建议使用哪一种?我需要它来获取它们在存储器上的路径,然后将这些路径保存到字符串中。

与从磁盘读取数据所花费的时间相比,速度差异可以忽略不计-差异将以纳秒为单位,读取数据需要毫秒。使用URI而不是文件的原因是,如果您表示的数据可能不在文件系统中,那么它可能属于ContentProvider或存在于远程服务器上。如果是这种情况,请使用URI。如果您知道情况并非如此,请使用一个文件。

与从磁盘读取数据所花费的时间相比,速度差异可以忽略不计-差异将以纳秒为单位,读取数据需要毫秒。使用URI而不是文件的原因是,如果您表示的数据可能不在文件系统中,那么它可能属于ContentProvider或存在于远程服务器上。如果是这种情况,请使用URI。如果您知道情况并非如此,请使用一个文件。

getPath()
Uri
上,只有当
Uri
的方案是
File
时才有用。否则,
getPath()
是没有意义的。
Uri
上的
getPath()
只有在
Uri
的方案是
文件时才有用。否则,
getPath()
就没有意义了。