在SDL中,如果我重新渲染文本,是否需要释放表面?

3
如果我使用下面的代码...
message = TTF_RenderText_Solid( font, "Lorem Ipsum", textColor ); 

我需要在执行此操作之前释放消息吗?
message = TTF_RenderText_Solid( font, "Lorem Ipsum part 2", textColor ); 

即它是否会提供给我一个新的表面(因此我需要清理旧的表面),还是只是覆盖在旧表面上?
1个回答

2

是的,当你完成使用后,应该使用SDL_FreeSurface释放message。返回的SDL_Surface是使用SDL_AllocSurface()分配的,并且不会被重复使用,所以如果你在这种情况下不释放它,就会造成内存泄漏。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接