gpt4 book ai didi

android - 在 Android 上使用 PNG 制作动画

转载 作者:行者123 更新时间:2023-11-29 19:24:39 25 4
gpt4 key购买 nike

我听说为动画使用位图列表不是一个好主意。但直到现在我还没有遇到证明这是真的情况。

我的代码运行良好。但仅在模拟器上,或在我运行 Android 6 的手机上。任何低于此的版本,我都会在完成初始化之前收到内存不足的消息。

这是我加载图像的方式:

public static Image[] flameIs = new Image[300];


for (int i=0;i<300;i++) {
if (i>=10) framePref="000";
if (i>=100) framePref="00";
Assets.flameIs[i] = g.newImage("frames/lighter_" + framePref +i+ ".png", ImageFormat.RGB565);
}

所以它就像 300 个 PNG,8 位,每个大小大约 12k。我们谈论的是值(value)不到 4MB 的图像。

应用程序稍后所做的就是永远循环运行这些帧。

有没有办法避免“内存不足”?

最佳答案

作为 RGB_565 加载的 459x620 的 300 个位图意味着您需要 300 * 459*620 * 2 = 171 MB 的内存。

查看https://stackoverflow.com/a/9940415/3413324总结了流行设备的堆大小,我们可以看到即使是最近的设备,您的位图也可能超过限制。

你可以做的是:

  • 减小位图的大小,使它们各自需要的内存空间更少

  • 减少用于动画的位图数量,从而减少内存占用

  • 使用可以通过库加载的 GIF。然后,您可以直接控制唯一 GIF 文件的大小

  • 如果可能,以编程方式创建动画

关于android - 在 Android 上使用 PNG 制作动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41650034/

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