編輯:高級開發
1. 讀和寫應該分開,NIO使用的是異步的方法但不等於說不會阻塞,在上面的例子中我們可以看到 判斷 key.isReadable() 時,對於這個SelectionKey關聯的SocketChannel盡量不要使用寫入數據量過多時ByteBuffer使用hasRemaining這樣的方法,NIO每次讀寫不一定全部要把數據讀完在一次Selector時。
2. 對於上面的解決方法我們可以繼續關注感興趣的事件,比如說使用interestOps方法,而很多資料中均使用了錯誤的繼續用Selector的register方法繼續注冊事件,這樣沒有發生錯誤的原因是每次注冊時會替換上次的這個key注冊的事件,比較僥幸,從效率上講還會判斷這個key上次注冊的是什麼事件,並不是一種正統的方法。
3. 我們可以繼續判斷寫入事件,比如key.isWritable,在寫入時來處理發送數據。這樣可以應對很多低速網絡時產生的異常。
有關的細節還有很多,下一次android開發網總結出常見的問題,並給大家一個較科學完善的框架,減少不必要的麻煩產生。
之前我們曾向您介紹過在android中實現service動態更新UI界面,在UI設計中需要利用很多圖庫相冊軟件,而Gallery 是國外一個免費開源的、功能非常強大、有
我們向很多朋友介紹過android特有的虛擬機:Dalvik虛擬機工作原理介紹。android各個應用在運行時的進程管理和內存管理都是相對獨立的,android應用程序
報告中寫道:“android是首款受到強力消費品牌青睐的Linux操作系統,而他背後的這只強力推手則是谷歌。”報告並承認Android仍然處在不成熟的發展階段,不過他們
android下一代版本蜂巢(Honeycomb)到底是Android 2.4還是android 3.0呢?到目前為止這種爭論可以告一段落了。近日,可能是受到蜂巢(Ho