我有这段代码使用display.newCircle在屏幕上画一条线。它工作得很好但是 随着我画得更多,它将更加不稳定并且会泄漏记忆。 我怎样才能保持这种优化。 问题仅出在设备上。 这是代码
local background = display.newRect( 0, 0, 480, 800 )
local lines = {};
local i = 1;
local strokeWidth = 20;
local R = 150;
local G = 100;
local B = 50;
local function drawALine(event)
if event.phase == "began" then
elseif event.phase == "moved" then
lines[i] = display.newCircle(event.x, event.y, strokeWidth, strokeWidth);
lines[i]:setFillColor( R,G,B );
elseif event.phase == "ended" then
end
end
Runtime:addEventListener("touch", drawALine)
任何帮助?
答案 0 :(得分:0)
每次触摸屏幕时,您都会使用一个圆圈扩展您的圆圈,但不会将其添加到场景视图中,因此不会按场景进行管理。
答案 1 :(得分:0)
你在哪里增加变量i?如果你不这样做,你正在写上一个条目,但它仍在分配内存。您可以在代码中放置一些打印件来观察您的记忆,看它是否过高。