【发布时间】:2017-11-27 15:04:17
【问题描述】:
我正在用颤振构建游戏。我有大约 130-150 个月的图片。其中一些必须预先加载,否则用户体验会感觉不流畅。
我自己找到了一种预加载图像的方法:
final asset = new ExactAssetImage(assetPath);
final stream = asset.resolve(createLocalImageConfiguration(context));
虽然这可行,但有一个巨大的缺点:内存成本大约是实际图像大小的 6 倍。
后果?我的应用程序最终仅通过加载图像就消耗了 800 MO 的内存,这太疯狂了(特别是考虑到它是一个相对简单的应用程序)。 事实上,内存消耗如此之大,以至于我丢失了大量的帧。
简而言之: 预加载图像的最理想方式是什么?有什么我错过的吗?
【问题讨论】:
-
这个问题你解决了吗?
-
如果您知道何时使用它们,那么也许您不需要预先加载所有它们,您可以在需要它们之前加载它们并在使用完它们后销毁它们?
-
请问为什么不能使用 precacheimage 类? docs.flutter.io/flutter/widgets/precacheImage.html这个问题好像是重复的stackoverflow.com/questions/51343735/flutter-image-preload/…
-
这不存在
-
@RémiRousselet 即使使用
precacheImage,图像占用的内存也是其大小的 6 倍。您找到解决此问题的方法了吗?
标签: memory-leaks dart flutter