在我的应用程序中,我有一个需要更新的对象的大列表。我试图创建一个线程来提高性能,但作为交换,我获得了巨大的滞后,这么多的延迟使我的应用程序崩溃而没有响应。
playerR = new Runnable() {
public void run() {
for (j = 0; j < platforms.length; j++)
for (i = 0; i < blocks.get(j).size(); i++) {
block = blocks.get(j).get(i);
block.update(playerClass.posX, playerClass.posY, playerClass.immune, playerClass.sizeX, errorLeft, errorRight, 0);
block.update(dumbAi.posX, dumbAi.posY, dumbAi.immune, dumbAi.sizeX, errorLeft, errorRight,1);
block.draw(cameraX, cameraY, spriteBatch);
}
synchronized (this) {
try {
} catch (Exception e) {}
}
}
};
playerThread = new Thread(playerR);
playerThread.start();
此代码位于主类的render()函数中。有什么建议?我对线程有点新意。
答案 0 :(得分:0)
使用debugger
查找代码中执行挂起的确切位置。为什么同步部分是空的?