2011-04-04 17 views
0

因此,我有一個應用程序與服務器進行頻繁通信。我在單例類中創建了套接字創建,以確保創建它的工作只進行一次。但是,這是一個Android應用程序,我永遠不能保證在應用程序被銷燬時清理的代碼將被執行。因此,我每次使用它時都會打開和關閉套接字。cpu密集型如何打開套接字

我不知道如何cpu密集,雖然,任何人都可以擺脫一些光?

+4

我可以告訴你,明智的CPU時間比移動設備上的網絡連接更便宜。 – Vetsin 2011-04-04 18:09:50

回答

3

@providence,如果它是一個單一的應用程序,每次使用它時都會打開/關閉套接字,從CPU工作負載的角度來看,這不是我擔心的太多。如果你有一個保持插座打開的選項,他們可能實際上是一個更好的事情。移動數據連接選項s.a. GPRS,EDGE,3G-UMTS等,都內置了優化功能,在不使用時會放棄無線網絡帶寬,甚至可能進入低功耗狀態。只有當有一些數據要被接收或發送時,電話纔會回到它的工作電源模式,並將無線資源分配給套接字。你的休眠套接字正在做的是消耗一些內存。

PS>在Android上進行網絡編程(直接在套接字級別)沒有第一手經驗,我寫的大部分內容都基於無線網絡技術知識和一般unix套接字通信基礎:-)。

只有當你喜歡我的答案,並發現它有用,隨時投票。

+0

確實非常有幫助,謝謝! – providence 2011-04-04 18:21:44