2013-03-26 46 views
0

我有一個應用程序,我使用線程從網絡讀取一些信息並將其顯示在屏幕上。我也有一個按鈕,點擊刷新屏幕。由於我需要使用相同的線程來獲取和顯示此類信息,並且線程無法重新啓動,因此每次點擊此按鈕時都會創建此線程的新實例。這是一個很好的做法,還是由於創建了太多的線程,會耗盡太多的內存資源?這也是值得指出的是反過來的線程創建每次啓動時新的對象,如:多次實例化同一個線程是否有任何問題?

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

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

是不會被刪除,不知道他們是否會被自動刪除當線程停止運行,但我猜不。

回答

1

如果您擔心使用太多的資源,而不是使用Handler的一個實例來排隊您的線程。使用Handler.post(new runnable())...這將排隊您的線程,並確保您的對象得到GCed正確。

相關問題