【问题标题】:Preload an image asset in flutter [duplicate]在颤动中预加载图像资产[重复]
【发布时间】:2017-11-27 15:04:17
【问题描述】:

我正在用颤振构建游戏。我有大约 130-150 个月的图片。其中一些必须预先加载,否则用户体验会感觉不流畅。

我自己找到了一种预加载图像的方法:

final asset = new ExactAssetImage(assetPath);
final stream = asset.resolve(createLocalImageConfiguration(context));

虽然这可行,但有一个巨大的缺点:内存成本大约是实际图像大小的 6 倍。

后果?我的应用程序最终仅通过加载图像就消耗了 800 MO 的内存,这太疯狂了(特别是考虑到它是一个相对简单的应用程序)。 事实上,内存消耗如此之大,以至于我丢失了大量的帧。

简而言之: 预加载图像的最理想方式是什么?有什么我错过的吗?

【问题讨论】:

标签: memory-leaks dart flutter


【解决方案1】:

如果你想让 UX 感觉流畅,那么你可以使用 FadeInImage() 并给它一个资产图像用作占位符,直到最终图像加载,如果你想从透明背景淡入图像,那么你可以使用transparent_image 包。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-30
    • 2019-08-14
    • 2019-04-18
    • 1970-01-01
    • 1970-01-01
    • 2022-08-10
    • 2021-10-24
    相关资源
    最近更新 更多