微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从路径生成位图列表以将其绘制在画布上很慢

如何解决从路径生成位图列表以将其绘制在画布上很慢

我已经在智能手机上存储了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 举报,一经查实,本站将立刻删除。