从Corona中的内存中删除外部lua文件和sprite表

时间:2012-01-27 06:27:42

标签: lua corona

我的应用程序有很多精灵表和它们各自的lua文件。我使用导演类在不同的屏幕之间切换,我在屏幕转换期间也使用了spriteSheet:dispose()语句。即使我的应用程序在iPad中崩溃。我已经取消了所有的定时器和转换,删除了所有运行时监听器,在运行时的enterFrame事件中使用了collectgarbage()。然而我的应用程序崩溃了。是因为外部文件还是其他任何问题?任何建议都会有所帮助。

2 个答案:

答案 0 :(得分:0)

您需要提供更多信息:

  • 它还会在模拟器中崩溃,还是只在Ipad上崩溃?
  • 如果它在模拟器中崩溃,控制台中的lua错误是什么?
  • 你是否关闭了iPad上的其他应用程序,如果你有太多内存没有足够的应用程序内存
  • 你是否为低内存添加了一个监听器,这将告诉你问题是否是内存:


local function handleLowMemory( event )
  native.showAlert( "Low Memory!",  "Please consider closing other applications.." , { "OK" }  );
end

Runtime:addEventListener( "memoryWarning", handleLowMemory )

答案 1 :(得分:0)

您需要检查一个精灵图片大小。如果图像大小大于视网膜大小的双倍分辨率,则应用程序将崩溃。