根据下面的代码,如何在不中断应用程序显示部分的情况下运行运行时监听器?目前,当我使用运行时监听器时,显示速度变慢了。仅供引用,我是 Lua/Corona 的新手,也是 stackoverflow 的新手。
function scene:createScene( event )
group2 = scrollView.new{ top=topBoundary, bottom=bottomBoundary }
myImage = display.newImage("imgbg1.png")
myImage.isVisible = true
group2:insert(myImage)
local yval = 120
socket,err=socket1.connect("host", port)
while not err do
socket:settimeout(1)
socket:send("runcommand\r\n")
repeat
line, err = socket:receive()
if line then
no = no + 1
-- [[ get only the main properties ]] --
if no >= 5 then
reply = reply .. line
end
end
until err
t1 = reply
loadnsave:saveToJson(t1,filename)
tsw = loadnsave:loadData(filename)
local i = 0
for k, v in pairs(tsw) do
i = i + 1
print("\n" .. k , v )
locy = locy + 20
imgBase[i] = display.newImage("image.png")
imgBase[i].x = locx
imgBase[i].y = locy
group2:insert(imgBase[i])
sw[i] = swfunc(tsw[k],k,locy,i)
group2:insert(sw[i])
locy = locy + 40 + iHeight
end
inity = 1
initw = 1
end
Runtime:addEventListener("enterFrame", swlistener)
end
function swlistener(event)
local reply2 = ""
repeat
line2, err2 = socket:receive()
if line2 then
reply2 = reply2 .. line2
end
until err2
end
最佳答案
如果我没记错的话,这与运行时监听器无关。它的套接字连接可能会减慢应用程序的速度。
我不是 100% 确定(它会卡住屏幕吗?如果是,那就是问题所在) 如果套接字连接确实是问题,您可以执行以下操作之一..
- 使用异步方法network.request如果您的要求是 GET/POST 请求
- disable the so-called Nagle's algorithm用于 socket
socket:setoption(tcp-nodelay,true)
关于sockets - 运行时 addeventlistener 使用 Corona 减慢 Lua 中的应用程序显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13562647/