0

私は次のボイドを持っています:

public void load() {
//loading big picture from the Internet
}

そして、それを新しいスレッドで実行したい。この手順は次のように呼び出すことができます。

new Thread(new Runnable() {
public void run() {
load();
}
}).start();

または、このボイドを変更する方が良いでしょう:

public void load() {
new Thread(new Runnable() {
public void run() {
//loading big picture from the Internet
}
}).start();
}

そして単にそれを呼び出します:

load();

それとも違いはありませんか?

4

1 に答える 1

0

機能的には、それらは同じです。他の方法よりも最初の方法を検討するように設計された詳細があります。

独自のものではなく、load(). その場合、すでにスレッドを作成しているため、彼らが呼び出した場合、load()別のスレッドを作成したくない/作成する必要はありません。

2 番目のオプションは非常に便利です。好きな場所に簡単に電話をかけることができload()ます。将来、load()メソッドがブロックされないポイントに変更された場合は、それを変更することができ、それ以上のコード変更は必要ありません。

または、以前に提案したように、これに AsyncTask を使用することを検討してください。まさにあなたがやろうとしていることのために特別に構築されました。

于 2012-05-28T15:04:56.433 に答える