new Thread(new Runnable(){
}).run();
vs
new AsyncTask().execute();
私はそれらが同じものであるという印象を受けました、両方とも新しいワーカースレッドを開始しますが、そうではありませんか?
私が尋ねる理由は、を使用して何らかのネットワーク接続を行おうとするとnew Thread()
、が取得NetworkOnMainThreadException
されますが、同じコードを非同期タスクに配置すると、それが取得されないためです。
また、この違いの別の例は、すべてのプロット/表示/非表示を実行する必要があるgoogle Maps api v2main thread
を使用することですが、マーカーを非表示/表示するために使用new Thread()
すると、正常に表示されますが、非同期タスクで表示/非表示にしようとすると、メインスレッドで実行する必要があるという例外が発生します。
new Thread()
本当にワーカースレッドを開始しませんか?
編集
提供されたリンクが私の質問を読んで答えなかったので、なぜこれが閉じられたのかわからず、私の質問に答えるrun()
vsの使用については何も言及していませんstart()