问题描述
我已经在智能手机上存储了png列表:
image001.png,image002.png,...,image175.png,而每个图像为200-250KB。
我想在画布上画它们。因此,我想我需要将它们转换为位图,以便使用它们的路径:当有175张图像时,BitmapFactory.decodeFile会变慢。我试图将inSampleSize设置为2并且仍然很慢(大约需要4秒)。
File[] files = myFolder.listFiles();
List<File> directoryListing = new ArrayList<>();
directoryListing.addAll(Arrays.asList(files));
long start = System.currentTimeMillis();
for (int i = 0; i < directoryListing.size(); i++) {
String path = directoryListing.get(i).getPath();
BitmapFactory.Options opts = new BitmapFactory.Options();
opts.inJustDecodeBounds = true;
BitmapFactory.decodeFile(path,opts);
opts.inJustDecodeBounds = false;
opts.inSampleSize = 1;
Bitmap bmp = BitmapFactory.decodeFile(path,opts);
listBitmaps.add(bmp);
}
任何想法如何使listBitmap生成更快?我的意思是甚至不到1秒。
请注意,如果不可能的话,列表中的第一张图纸应该不会很快,但我希望下一张图纸会很快(即使我关闭应用程序并再次打开它)
另一件事:png是从webm提取的,并且具有alpha。 (画布不知道绘制webm)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)