3

我在场景中加载了很多精灵。超过 100 个。我试图了解 COCOs2d 中的内存管理是如何工作的:

1) setVisible(false) 是否足以暂时将其从内存中删除?

2) 如果一个大精灵有 90% 的透明像素,如果这个精灵小两倍但它只有 10% 的透明像素,这个精灵在内存中的处理方式是否相同。透明像素会占用内存吗?

4

1 回答 1

4

1) setVisible(false) 是否足以暂时将其从内存中删除?

不,您需要使用以下命令将其从节点中删除:

[sprite removeFromParentAndCleanup:YES];

2) 如果一个大精灵有 90% 的透明像素,如果这个精灵小两倍但它只有 10% 的透明像素,这个精灵在内存中的处理方式是否相同。透明像素会占用内存吗?

透明度是 alpha 设置为 的颜色0.0,所以是的,透明像素与不透明像素占用相同的内存量。

于 2013-09-02T08:06:40.930 回答