Android与AsyncTask之间的Android差异

Bar*_*ğlu 0 multithreading android fragment android-asynctask

我一直在尝试连接到服务器来检索一些数据.我想到的第一件事就是创建一个异步连接的线程.

new Thread(new Runnable() {
    @Override
    public void run() {
        // retrieve data
    }
}).run();
Run Code Online (Sandbox Code Playgroud)

但奇怪的是,我创建的线程与UI线程同步,我得到了一个网络异常,所以我最终使用了AsyncTask.你们知道什么可能导致线程与UI线程异步工作吗?我的课程延伸到一个片段.

mak*_*tar 5

您必须启动线程,start()而不是run()为了启动新线程:

new Thread(new Runnable() {
    @Override
    public void run() {
        // retrieve data
    }
}).start();
Run Code Online (Sandbox Code Playgroud)