Thanx先期..我有一個問題,我們如何釋放內存在cocos2dx? 在我的遊戲中,我的第一個場景需要大量的內存,因爲在這個場景中有很多動畫在同一時間運行,有很多動畫,所以我對此感到滿意,但是當我們進入下一個場景時,它確實不釋放先前使用的內存,這是我的問題,所以當我們更改場景時,如何釋放先前場景使用的內存?內存問題在cocos2dx
-1
A
回答
0
要轉到場景之間,您可以撥打pushScene
或replaceScene
。
推場景
如果你的場景之間推那麼我建議您之間有一個負載場景。它應該是輕量級的,以便您有機會釋放您的舊場景中的所有內容。這就是onEnter(DidFinish)
和onExit(DidStart)
方法派上用場的地方。
調用鏈將是:
oldScene->onExitDidStart()
loadScene->onEnter()
oldScene->onExit()
< - 這是你釋放一切loadScene->onEnterDidFinish()
< - 這就是你加載了新的場景newScene->onEnter()
等等......如果你已經正確地管理你的記憶,那麼你不應該一次有2個沉重的場景。
更換場景
這是一個容易得多的情況。您只需確保爲新場景儘可能少加載,直到舊場景完全消失。即當調用onEnterDidFinish()
時,甚至在它之後有1幀。
0
Cocos2d-x支持自動釋放內存。例如,當您通過調用Sprite :: create()創建一個精靈時,它會將此精靈添加到自動發佈池中。如果你不添加這個精靈成爲當前場景的孩子(或第n級別的孩子),它將被釋放。
請勿使用新建創建對象,請在調用下一個場景時使用create(),並釋放上一個場景中的所有內容。
相關問題
- 1. Cocos2dx CCTableView問題
- 2. Cocos2dx open gl問題
- 3. Cocos2dx構建問題
- 4. 當清除內存時Cocos2dx問題崩潰應用程序
- 5. 內存問題?
- 6. 內存問題
- 7. 內存問題
- 8. 內存問題在WP7
- 9. 內存問題在C++
- 10. 內存問題在ios
- 11. CoreImage內存問題在ios5
- 12. FindByIdentity在System.DirectoryServices.AccountManagment內存問題
- 13. Android上的Cocos2dx幀率問題
- 14. cocos2dx(2.0.4)android創建項目問題
- 15. ValueAnimator內存問題
- 16. Apache內存問題
- 17. ScrollView內存問題
- 18. Android內存問題
- 19. FragmentStatePagerAdapter內存問題
- 20. 內存問題iphone
- 21. iphone內存問題
- 22. UIImageView - 內存問題
- 23. IntelliJ內存問題
- 24. Prolog內存問題
- 25. ListView內存問題
- 26. PHP內存問題
- 27. python內存問題
- 28. imagecreatefromjpeg內存問題
- 29. Grails內存問題
- 30. UIAlertView內存問題