0

スレッドを使用してネットワークから情報を読み取り、画面に表示するアプリがあります。クリックすると画面が更新されるボタンもあります。このような情報を取得して表示するには同じスレッドを使用する必要があり、スレッドを再開できないため、このボタンをタップするたびにこのスレッドの新しいインスタンスを作成します。これは良い習慣ですか、それとも作成されたスレッドが多すぎるためにメモリリソースを使いすぎますか?また、スレッドが開始されるたびに、次のような新しいオブジェクトが作成されることも指摘しておく価値があります。

new PrintWriter(new BufferedWriter(new OutputStreamWriter(app.socket
                        .getOutputStream())), true);

new BufferedReader(new InputStreamReader(app.socket.getInputStream()));                   

削除されることはありません。スレッドの実行が停止したときに自動的に削除されるかどうかはわかりませんが、そうではないと思います。

4

1 に答える 1

1

ハンドラーのインスタンスを1つだけ使用してスレッドをキューに入れることができるよりも多くのリソースを使用することを心配している場合は、Handler.post(new runnable())を使用します...これにより、スレッドがキューに入れられ、オブジェクトが正しくGCされるようになります。

于 2013-03-26T18:18:58.313 に答える