0
爲每個新請求重新使用HTTPClient實例是一種不好的做法。我做了一個request
從yahoo webservice
獲取數據,現在在另一個頁面中,我撥打了webservice
致電谷歌。HTTPClient實例是不是要重複使用?
我可以在這兩個不同的頁面中使用相同的HTTPClient實例,還是應該爲兩者創建新的HTTPClient對象?
爲每個新請求重新使用HTTPClient實例是一種不好的做法。我做了一個request
從yahoo webservice
獲取數據,現在在另一個頁面中,我撥打了webservice
致電谷歌。HTTPClient實例是不是要重複使用?
我可以在這兩個不同的頁面中使用相同的HTTPClient實例,還是應該爲兩者創建新的HTTPClient對象?
你一定要重複使用它們,並把HttpClient
作爲一個單例。通過在整個應用程序中重用單個實例,可以充分利用保持活動的連接並在調用之間保持Cookie。
引述official documentation爲3.X:
一般來說,建議有每通信組件或甚至每個應用程序的HttpClient的單個實例。但是,如果應用程序很少使用HttpClient,並且不保證HttpClient在內存中的空閒實例,則強烈建議在處理HttpClient實例之前顯式關閉多線程連接管理器。這將確保正確關閉連接池中的所有HTTP連接。
同樣適用於4.x,只要確保使用PoolingClientConnectionManager
即可。