@IT-Programmer

Почему приложение на corona SDK забивает оперативку?

Почему приложение на corona SDK забивает оперативку?
Код main.lua:
function update(e)
  display.newRect(w/2, h/2, w, h):setFillColor(0,0,0,1);

  display.newText(os.date('*t').sec, w/2, h/2);
end;

Runtime:addEventListener( "enterFrame", update );

Код показывает секунды, спустя минут 5 работы этого кода оперативка забивается...
Как можно исправить эту проблему, может можно реализовать это как-то по другому?
  • Вопрос задан
  • 11 просмотров
Решения вопроса 1
Lerg
@Lerg
Defold, Corona, Lua, GameDev
Corona работает не как love2d и другие более низкоуровневые движки.
display.newRect() это не закрасить область фреймбуфера определённым цветом, это создать объект в памяти, который будет сам отрисовываться каждый кадр без необходимости функции update (enterFrame).

enterFrame же нужен для обновления уже созданных объектов, а не для создания новых каждый кадр. Поэтому оперативка и забивается.

local rect = display.newRect(w/2, h/2, w, h)
rect:setFillColor(0,0,0,1)

local label = display.newText('', w/2, h/2)
local function update(e)
  label.text = os.date('*t').sec
end

Runtime:addEventListener( "enterFrame", update );
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
HEALBE Москва
от 140 000 ₽
от 130 000 до 200 000 ₽
МТТ Москва
от 120 000 до 160 000 ₽
30 мар. 2020, в 10:09
500 руб./в час
30 мар. 2020, в 09:48
120000 руб./за проект
30 мар. 2020, в 09:33
10000 руб./за проект