天天看點

[CAQ5]使用okhttp等三方網絡架構的時候出現逾時錯誤

在項目開發過程中,我們一般會使用一些三方的網絡架構,而前幾天我在使用okhttp的時候就出現了在某些特殊android裝置上出現逾時的問題。

在調試問題的時候,你會發現debug情況下網絡請求沒有問題,但是run起來就會逾時。

經過一段時間掙紮後最終找到了問題的答案,原來java中有一種東西叫做JIT(Just In Time),該技術可以通過把Java位元組碼轉換成機器碼來提高運作速度,而這個問題正是因為某些裝置的處理器對JIT支援的不夠完善引起的,是以我們隻能将JIT關閉,以保證okhttp的正常使用。

通過在AndroidManifest中的application标簽裡加入下面的屬性來關閉android對于JIT的使用:

<application
    android:vmSafeMode="true"
    ...>
</application>
           

終于好用了,不容易不容易。