2014-08-29 92 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

相關問題