从科罗纳的内存中删除外部lua文件和精灵表



我的应用程序有很多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 )

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

最新更新