OkHttp傳送攜帶Json的Post請求,丟擲異常android.os.NetworkOnMainThreadException

2020-10-03 12:01:08

問題描述

丟擲異常android.os.NetworkOnMainThreadException

問題原因

在Android 4.0以上,網路連線方法execute()不能放在主執行緒上,不然就拋異常android.os.NetworkOnMainThreadException。但是4.0下版本可以不會報錯。

解決方案

新開用於網路請求的執行緒,直接使用匿名內部類建立新執行緒

// 新開用於網路請求的執行緒
            new Thread(new Runnable(){
                @Override
                public void run() {
                    cachedImage = asyncImageLoader.loadDrawable(imageUrl, position);
                    imageView.setImageDrawable(cachedImage);
                }
            }).start();

在這裡插入圖片描述