На самом деле у меня мало вопросов, надеюсь, кто-нибудь может мне помочь.
1) В чем разница между
print(collectgarbage("count"))
и
print(system.getInfo( "textureMemoryUse" ))
2) У меня есть игра, которая после того, как вы ее закончите, вернется на 1-ю страницу, и вы можете просто поиграть в нее снова, я попытаюсь положить textureMemoryUse, она не показывает утечку памяти, но игра становится все более медленнойкаждый раз, когда я играю в нее, есть ли какая-либо другая причина, из-за которой происходит задержка, кроме утечки памяти?
3) Как правильно удалить объект?то, что я пытаюсь сделать, это:
object:removeSelf()
object = nil
, но если я выложу его с помощью команды collectgarbage ("count"), он не покажет ничего другого до и после его использования.
gameотстают от игры каждый раз, когда меня мучают в течение 2 дней, я действительно не могу найти, что не так в моем коде, надеюсь получить помощь здесь.
вот мой код на удаление всей памяти
--remove all the transition that store in a table
local k, v
for k,v in pairs(transitionTable) do
--print(k)
timer.cancel( v )
v = nil; k = nil
end
transitionTable = nil
transitionTable = {}
-- remove movie clip
playButtonAnim:removeSelf()
playButtonAnim = nil
-- remove displayGroup and it's child
displayGroup.x = display.contentHeight + 10
displayGroup.x = display.contentWidth + 10
if(displayGroup ~= nil and displayGroup.numChildren ~= nil) then
for i=1,displayGroup.numChildren do
print("child on display group : "..displayGroup.numChildren)
displayGroup:remove(1)
end
displayGroup:removeSelf()
end
я пытаюсь:
collectgarbage("collect")
print( "collectgarbage is " .. collectgarbage("count") )
в каждой строке и обнаружил, что удаление фрагмента фрагмента ролика освобождает память, я думаю, что это неправильный способ удалить ее?