以与桌面应用程序相同的方式使用Java Threads是否安全?

Mar*_*ker 3 java multithreading android

Android必须管理线程或可以使用这样的代码:

public class GameThread implements Runnable {

    public void run() {
        while (!finished) {

            //game work

            try {
                Thread.sleep(fps);
            } catch (InterruptedException e) {
                // Interruptions here are no big deal.
            }
        }
    } 
}
Run Code Online (Sandbox Code Playgroud)

Nar*_*hai 5

您可以Thread直接使用,但Android中有一些捕获

  • 不要阻止UI线程
  • 不要从UI线程外部访问Android UI工具包

有关进程和线程的 Android文档提供了足够的指导,可帮助您入门.

使用AsyncTask

AsyncTask允许您在用户界面上执行异步工作.它在工作线程中执行阻塞操作,然后在UI线程上发布结果,而不需要您自己处理线程和/或处理程序.