在Corona中从内存中删除外部lua文件和sprite Sheets

我的应用程序有很多精灵表和它们各自的 Lua 文件。我已经使用导演类在不同的屏幕之间进行切换,并且我在屏幕转换期间也使用了 spriteSheet:dispose() 语句。尽管如此,我的应用程序在 iPad 上崩溃了。我取消了所有计时器和转换,删除了所有运行时侦听器,在运行时的 enterFrame 事件中使用了 collectgarbage()。然而,我的应用程序仍然崩溃。这是因为外部文件或其他问题吗?任何建议都将有所帮助。

原文链接 https://stackoverflow.com/questions/9029725

点赞
stackoverflow用户7602
stackoverflow用户7602

你需要提供更多信息:

  • 它是在模拟器中崩溃还是仅在iPad上崩溃?
  • 如果它在模拟器中崩溃,在控制台中的lua错误是什么?
  • 如果您在iPad上关闭了其他应用程序,并且太多,内存不足以运行您的应用程序吗?
  • 您是否添加了一个监听器来检测低内存情况?这将告诉您问题是否与内存有关:

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

Runtime:addEventListener( "memoryWarning", handleLowMemory )
2012-01-27 15:53:42
stackoverflow用户2409015
stackoverflow用户2409015

你需要检查一个精灵图像的尺寸。如果图像的尺寸超过了视网膜分辨率的两倍,则应用程序将崩溃。

2014-03-19 11:01:02