gpt4 book ai didi

dart - 为什么 Flutter (dart) 处理图片这么慢?

转载 作者:IT王子 更新时间:2023-10-29 06:36:53 24 4
gpt4 key购买 nike

我有这种方法,可以将用户手机中的照片加载到内存中,调整大小并将其编码为 JPEG:

List<int> processPersonProfilePhoto(File file) {
var rawPhoto = file.readAsBytesSync();
var jpg = Image.decodeJpg(rawPhoto);
jpg = Image.copyResize(jpg, 512);
return Image.encodeJpg(jpg, quality: 70);
}

我在单独的隔离区上运行上述方法,通过:

var jpgByteArray = await compute(processPersonProfilePhoto, file);

整个过程有时需要20-30秒(release模式比debug还差),我是在中高端设备上跑的。

这是我用来处理的包:

image: ^2.0.7

我做错了什么?如何改进?

PS.: 我做了更多的调试,并意识到处理时间更长的行是 deconding 行:

var jpg = Image.decodeJpg(rawPhoto);

最佳答案

我发现这是一个库问题。您可以在 lib 的 github 页面上跟踪问题,有很多问题提示速度慢。 ( https://github.com/brendan-duncan/image/issues/104 )

在它得到修复之前,请改用该库: https://pub.dartlang.org/packages/flutter_image_compress

编辑:现在看来库已经修复了 RELEASE 构建中的缓慢问题:https://github.com/brendan-duncan/image/issues/104#issuecomment-490794535

关于dart - 为什么 Flutter (dart) 处理图片这么慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55621239/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com