我在Android和iOS上有一个项目,其中有一个部分显示了汽车的360度视图,在iOS中,我只是从内部存储中获取了60幅图像,这些图像以前是从互联网上下载的,并且当用户开始向右或向左滑动汽车时。而且此过程仅需要200毫秒即可准备好与用户进行交互。
但是在Android中,我必须先拍摄60张图像并将其转换为位图,然后该过程类似于iOS过程。尽管如此,将第一个过程全部转换为位图大约需要3秒或更长时间。我已经阅读了在许多信息源中显示Android图像的过程,并且似乎有必要为此任务使用位图,这样可以减少获取所有位图的时间吗?还是可以保存位图以避免转换当用户再次打开相同的视图时,PNG文件再次转换为新的位图?
我用来将png文件转换为位图对象的代码与Android开发人员文档建议的代码相同:
https://developer.android.com/topic/performance/graphics/load-bitmap
我获取位图的源代码是:
public static Bitmap decodeSampledBitmapFromFile(String filePath, int reqWidth, int reqHeight) {
// First decode with inJustDecodeBounds=true to check dimensions
final BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeFile(filePath, options);
options.inSampleSize = 1;
// Decode bitmap with inSampleSize set
options.inJustDecodeBounds = false;
Bitmap bitmap =BitmapFactory.decodeFile(filePath, options);
Log.d("img360","bitmap res "+bitmap.getWidth()+ " h "+bitmap.getHeight());
return bitmap;
}
非常感谢您的帮助和支持。
答案 0 :(得分:-1)
如果要从Internet下载图像并将其显示在android上 只需放置一个imageview并使用picaso或glide库 更快,更容易