我的UiimageViews有一个有趣的问题。 我有一个应用程序(有2个房子的游戏),我在屏幕上加载了很多图像(我正在使用UIIMageView)。 在ios4.3上运行正常,但在ios5上有很多崩溃(我看看spc程序的可用内存差异大约是40-50mb!)。
我已经删除了所有可能的@ 2x图像(用于视网膜设备),现在我的崩溃程度稍低 - 但它们仍然存在。
我已经分析过并发现所有崩溃都出现在 viewWillAppear 和 viewDidAppear 之间。 看起来像图像加载到视频内存。
我在游戏中有2个房子,我可以先装载任何房子,然后卸下房子(当然仪器显示我没有泄漏)。我试着加载第二个房子,然后我崩溃了。 看起来图像没有从视频记忆中卸载。 有可能吗?
当我们移除@ 2x图像时,我们可以加载更多房屋,但有时会在viewWillAppear和viewDidAppear之间再次崩溃。
谢谢,
答案 0 :(得分:1)
对我来说听起来像是一个记忆问题......你是否重新使用了删除的对象?当应用程序崩溃时,您的控制台输出是什么?
答案 1 :(得分:1)
看起来您的应用程序被终止的典型情况因为它占用了太多内存。您可以通过实现didReceiveMemoryWarning回调来检查这一点。你的影像有多大?关于UIImageViews的内存问题有很多帖子,例如here。您必须确保从超级视图中删除了UImageViews,并在不需要时正确释放。