Github:<a > PollService</a>
PollService為程序提供單線程輪詢服務(wù)(輪詢只是暫時解決問題的解決方案)拍嵌。
1.獲取服務(wù)###
PollService.getService()
2.訂閱輪詢服務(wù)###
PollService.subscribe(
String pollName, //輪詢服務(wù)名稱
long pollTime, //輪詢的時間
long timeOut, //輪詢超時
PollCallback callback//輪詢回調(diào)
)
*進(jìn)程可以通過調(diào)用PollService.subscribe 方法來訂閱輪詢服務(wù),在訂閱的時候,調(diào)用者必須要指定輪詢服務(wù)的name:pollName。還有輪詢服務(wù)的輪詢回調(diào)羞延。
*輪詢的時間由pollTime指定,單位是毫秒
*timeOut是用于給輪詢線程設(shè)置輪詢超時時間渡嚣。輪詢超時以Callback解除訂閱或者Callback被回收為起點梢睛。如果你并不希望輪詢線程被關(guān)閉,可以指定這個參數(shù)為:<strong>TIME_OUT_NEVER</strong>。相反,你如果希望你的線程立馬被關(guān)閉的話,那就指定為:<strong>TIME_OUT_DESTORY_IF_CALLBACK_NULL</strong>
3.解除輪詢訂閱服務(wù)###
解除輪詢訂閱有兩種方法:
1.一旦你的Callback成為垃圾對象,并且被回收,輪詢線程將自動解除這種訂閱
2.通過callback中的unSubscribe()可以解除訂閱
PollCallback mPollCallbackImpl = new ...
mPollCallbackImpl.unSubscribe();
解除訂閱之后,輪詢線程將進(jìn)入超時檢測,就是上面的第二條识椰。