Java URI与文件性能
我最近一直在处理文件。我想知道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
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()
就没有意义了。