0

我有一个应用程序,我使用线程从网络读取一些信息并将其显示在屏幕上。我还有一个按钮,点击后会刷新屏幕。由于我需要使用同一个线程来获取和显示此类信息并且线程无法重新启动,因此每次点击此按钮时我都会创建该线程的一个新实例。这是一个好习惯,还是会因为创建了这么多线程而占用了太多内存资源?还值得指出的是,线程每次启动时都会依次创建新对象,例如:

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

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

永远不会被删除,不确定当线程停止运行时它们是否会自动删除,但我想不会。

4

1 回答 1

1

如果您担心使用过多的资源,则可以仅使用一个 Handler 实例将线程排队。使用 Handler.post(new runnable())...这将使您的线程排队并确保您的对象正确获得 GC。

于 2013-03-26T18:18:58.313 回答