我的应用程序有很多sprite表和它们各自的lua文件。我使用了director类在不同的屏幕之间切换,在屏幕转换过程中也使用了spriteSheet:dispose()
语句。尽管我的应用程序在iPad上崩溃了。我取消了所有计时器和转换,删除了所有运行时侦听器,在运行时的enterFrame事件中使用了collectgarbage()
。然而,我的应用程序正在崩溃。是因为外部文件还是其他问题?任何建议都会有帮助。
您需要提供更多信息:
- 它也在模拟器中崩溃,还是只在Ipad上崩溃
- 如果它在模拟器中崩溃,控制台中的lua错误是什么
- 你是否关闭了iPad上的其他应用程序,如果你的应用程序太多,内存不足
- 你是否为内存不足添加了一个监听器,这将告诉你问题是否在于内存:
local function handleLowMemory( event )
native.showAlert( "Low Memory!", "Please consider closing other applications.." , { "OK" } );
end
Runtime:addEventListener( "memoryWarning", handleLowMemory )
您需要检查一个精灵图像大小。如果图像大小大于视网膜大小的两倍分辨率,则应用程序将崩溃。