首页 > Unity3D引擎 > 性能优化 > 解决SpriteAtlas调用GetSprite内存泄露问题
2022
01-17

解决SpriteAtlas调用GetSprite内存泄露问题

最近Android包频繁崩溃,经查询是SpriteAtlas图集在频繁调用GetSprite()接口,产生的内存泄露。

那么为什么频繁调用GetSprite就会内存泄露呢?

请先看下接口介绍:

注意看摘要,它说是Clone,也就是说每次调用GetSprite,都会执行一次克隆操作,并且不会自动释放。

如下图

解决SpriteAtlas调用GetSprite内存泄露问题 - 第1张  | u3d8技术分享

于是做了个缓冲池,重复的sprite直接从池子里获取

用了缓冲池后的效果

解决SpriteAtlas调用GetSprite内存泄露问题 - 第2张  | u3d8技术分享
最后编辑:
作者:网虫虫
网虫虫
分享是一种快乐; 分享是一种美德; 分享是一种幸福!

0 0 votes
Article Rating
Subscribe
提醒
guest
0 评论
Inline Feedbacks
View all comments