在釋放資源時,為什麼有時會比較慢?

2022-08-05 11:21:26 字數 513 閱讀 8389

在釋放sdk的資源(brac_logout、brac_release)時,有時會比較慢通常是由於開啟了sdk的upnp裝置支援(參考:brac_initsdk),由於關閉在upnp裝置上開啟的埠需要一定的時間,就造成了sdk釋放資源的時間增加。

操作upnp裝置通常會分為三個步驟,在初始化sdk時進行(1)發現upnp裝置和(2)開啟upnp埠,在釋放sdk資源時則進行(3)關閉upnp埠的操作,在進行前兩步操作時,sdk內部會進行非同步處理(開啟獨立的執行緒進行處理),所以不會阻塞主線程,上層應用不會感覺到卡,而釋放sdk資源時,就沒辦法進行非同步處理,必須等待upnp埠關閉後才能結束,所以上層應用會感覺「卡」一下。

通常不同的網路路由裝置上面進行upnp操作的時間也不相同,最快的只需要幾十毫秒,較慢的會需要幾百毫秒,如果使用者的網路路由器支援upnp協議,而且開啟了sdk的upnp裝置支援,則使用者之間p2p穿透的成功率將會得到極大的提高。

當使用者的網路裡面沒有upnp裝置,或是關閉了sdk的upnp裝置支援時,sdk會採用其它的策略來嘗試p2p的穿透。

為什麼在使用LESS 除法計算時會出問題

hello,各位小夥伴們好,最近一直有小夥伴問我為什麼寫less的時候,發現除法有了問題,在生成的css檔案中,不給我們輸出正確結果了。直接拋結論 less 版本公升級,easyless外掛程式 新版本跟隨,不支援直接除法運算子引起的 解決方案 除法寫法變化 或者 加上小括號 推薦 2.less版本...

為什麼在定義hashcode時要使用31這個數呢?

public int hashcode hash h return h 該函式是我看的函式介面原始碼,為什麼要使用31這個數呢?其實上面的實現也可以總結成數數裡面下面這樣的公式 s 0 31 n 1 s 1 31 n 2 s n 1 原因如下 a.31是乙個素數,素數作用就是如果我用乙個數字來乘以這...

為什麼在定義hashcode時要使用31這個數呢?

public int hashcode hash h return h 該函式是我看的函式介面原始碼,為什麼要使用31這個數呢?其實上面的實現也可以總結成數數裡面下面這樣的公式 s 0 31 n 1 s 1 31 n 2 s n 1 原因如下 a.31是乙個素數,素數作用就是如果我用乙個數字來乘以這...