Android中的线程(GUI或自定义)使计算更好



我听说在 GUI 线程中进行计算是一个坏主意,所以我想到的是:

float someX;
float someY;
Thread t = new Thread(new Runnable() {
      //making calculations here, setting someX, someY
})
this.runOnUiThread(new Runnable() {
   setX(someX);
   setY(someY);
});

因此,它们并行工作并在类内共享相同的变量,这是让事物在屏幕中移动的正确方法吗?

我想过使用AsyncTask,但据说这仅适用于短期操作......所以跳过了它

如果上述方法是正确的,为什么在 flash(actionscript)中所有计算都是在 onFrame 事件(我认为是 GUI 线程)中进行的?

addEventListener(Event.ENTER_FRAME, function(){
//all is made here
});

我当然知道 actionscript 是一个线程,只是问

请提出任何建议或意见

这实际上取决于您正在做多少工作。大多数时候,我可以使用主线程进行小型图形计算。我不确定你在做什么,但是像根据输入设置位置这样的事情听起来像是主线程的事情。通常,如果您希望即时响应,您应该能够将其放在主线程中。

您可以判断是否需要将工作移动到新线程,因为您的应用程序将开始滞后。此时,您应该在新线程中工作。这可能会有所帮助。

最新更新