2014-08-29 35 views
-2

从XCode测试我的应用程序到我的iOS 6.1.6 iPod touch 32GB时,我遇到了一些问题。对于我的游戏,图像经常下降,我不确定这是否是问题。有人告诉我,我的应用程序可能运行缓慢,因为我的iPod上内存太多,但我已经清除了大部分内存。我的游戏应用程序在我的iOS设备上运行缓慢

我的问题是,如何让我的应用程序在我的设备上快速运行?

它在我的iOS模拟器上运行真的很流畅,但在我的设备上测试5秒后它很糟糕。

,使我的图片秋天的代码是这样的

imageView1.center = CGPointMake(imageView1.center.x+pos.x,imageView1.center.y+pos.y); 

imageView2.center = CGPointMake(imageView2.center.x+pos.x,imageView2.center.y+pos.y); 

imageView3.center = CGPointMake(imageView3.center.x+pos.x,imageView3.center.y+pos.y); 


imageView4.center = CGPointMake(imageView4.center.x+pos.x,imageView4.center.y+pos.y); 

pos = CGPointMake(0.0, 3.0); 

我也有一个定时器设定在0.03。另外,当每个图像落下时,当它碰到底部时,新的图像将随机产生。这是一个循环。

+3

“内存太多”? 32Gig是STORAGE空间,它不是“内存”。一个iPod touch有512meg的RAM。 – 2014-08-29 18:13:10

+1

您需要使用泄漏和分配工具在仪器中运行您的应用程序,以发现是否存在内存问题。不要猜测什么是错的 - 使用Apple提供的工具来找出错误。另外,我根本不明白这个问题的这一部分:“一个新的图像是由随机构成的”。这是什么意思?请将您的问题重新编写成包含代码与仪器的输出相关的代码或代码的相关部分,这些代码与屏幕底部的图像相关。这些应该是关于SO的两个不同的问题。 – 2014-08-29 18:39:16

回答

0

任何经常发生的UIKit操作都会对iPods处理器造成负担。你的Mac CPU速度非常快,而且你有更多的RAM,所以这就是它在模拟器上工作的原因。您可以尝试降低帧频(计时器间隔)并查看是否可以解决问题。我建议你远离UIKit制作游戏,而是使用新的iOS 7框架SpriteKit。 (谷歌搜索会查找文档)SpriteKit或Cocos2d等框架稍微难以学习,但它们的引擎已针对运行游戏和使用iPod gpu进行了优化。你的游戏有多复杂?如果它不仅仅是一个移动对象的屏幕,我会考虑重写SpriteKit中的所有东西。对不起,让你失望的第一场比赛,但UIKit几乎从来没有去制作游戏的路。祝你好运!

+0

其他人可能会帮助你解决正在发生的问题,并且像Marc B所说的那样,内存是指随机存取内存(我认为在RAM触摸上是RAM,512mb),而不是文件存储(32gb)。尝试在乐器中运行您的应用程序,以查看您的应用程序使用了多少内存。如果这个数字太高,请确保在完成对象时释放对象(例如,查看@autoreleasepool) – SEG 2014-08-29 18:27:29

+0

我想我的问题太难了。我现在正在处理这个问题,感谢大家的努力。 – techman9 2014-08-30 04:05:31

相关问题