【发布时间】:2026-01-16 00:10:01
【问题描述】:
我在一个场景中加载了很多精灵。超过 100 个。 我试图了解 COCOs2d 中的内存管理是如何工作的:
1) setVisible(false) 是否足以将其暂时从内存中删除?
2) 如果一个大精灵有 90% 的透明像素,如果这个精灵小两倍但它只有 10% 的透明像素,这个精灵在内存中的处理方式是否相同。透明像素会占用内存吗?
【问题讨论】:
标签: cocos2d-iphone
我在一个场景中加载了很多精灵。超过 100 个。 我试图了解 COCOs2d 中的内存管理是如何工作的:
1) setVisible(false) 是否足以将其暂时从内存中删除?
2) 如果一个大精灵有 90% 的透明像素,如果这个精灵小两倍但它只有 10% 的透明像素,这个精灵在内存中的处理方式是否相同。透明像素会占用内存吗?
【问题讨论】:
标签: cocos2d-iphone
1) setVisible(false) 是否足以将其暂时从内存中删除?
不,您需要使用以下命令将其从节点中删除:
[sprite removeFromParentAndCleanup:YES];
2) 如果一个大精灵有 90% 的透明像素,这是 如果此精灵小两倍,则精灵在内存中的处理方式相同 但它只有 10% 的透明像素。是否透明像素 占用内存?
透明度是 alpha 设置为0.0 的颜色,所以是的,透明像素与不透明像素占用相同的内存量。
【讨论】: