亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

照著第一行代碼第二版敲的前兩部分代碼,提示報錯

照著第一行代碼第二版敲的前兩部分代碼,提示報錯

楊__羊羊 2019-02-19 19:07:09
E/EGL_emulation: tid 14967: eglSurfaceAttrib(1146): error 0x3009 (EGL_BAD_MATCH)W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0x93d4c080, error=EGL_BAD_MATCH點擊之后出現上面兩行錯誤,虛擬機中顯示加載失敗,上網搜索好像是說虛擬機中禁止了在主線程中進行網絡請求,不是很明白其中的解釋,希望得到幫助。
查看完整描述

4 回答

?
收到一只叮咚

TA貢獻1821條經驗 獲得超5個贊

既然這樣,你把網絡請求的代碼放子線程試試唄

查看完整回答
反對 回復 2019-03-01
?
滄海一幻覺

TA貢獻1824條經驗 獲得超5個贊

網絡請求是一個耗時操作,舉個例子,你用網易新聞app加載新聞,網絡不好的時候會加載很久,假如這個網絡請求操作在Activity中執行,那么會一直等待返回結果,導致這個Activity卡在此處,無法響應其他的操作,也就是常說的主線程被阻塞導致ANR,所以需要重新開一個線程去進行網絡訪問,如下:

protected void onCreate(Bundle savedInstanceState){
...

 new Thread(new Runnable() {
            @Override
            public void run() {          
             //此處應為你網絡請求的代碼,通過Hanlder傳遞給主線程Activity處理
            }
        }).start();
}
查看完整回答
反對 回復 2019-03-01
?
holdtom

TA貢獻1805條經驗 獲得超10個贊

Android現在是不能在主線程中進行網絡操作的,網絡操作都需要放到子線程中去執行,還有一些別的耗時操作也都需要放到子線程中去執行,如果你把那些耗時操作都放到主線程中去執行的話,那么當主線程執行到這些耗時操作這里時就會阻塞在這里,對用戶體驗不好,而且時間長了會報ANR異常。

查看完整回答
反對 回復 2019-03-01
?
明月笑刀無情

TA貢獻1828條經驗 獲得超4個贊

每種語言都有缺點和有點,比如java沒有閉包,吹牛逼的一切皆對象,代理機智薄弱,寫出來的代碼冗長且效率低下,代碼量動不動就上幾十萬,各種框架無數繁瑣的配置等等都讓人煩不勝煩

查看完整回答
反對 回復 2019-03-01
  • 4 回答
  • 0 關注
  • 847 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號