"NetworkOnMainThreadException"문제 의 원인 분석 및 해결 방법

네트워크 수집 의 원인 은 다음 과 같다.그리고 해결 방법:

제 가 보충 적 으로 정리 하 겠 습 니 다.
해결 방법 1:
네트워크 클래스(socket 연결)를 조작 하 는 activity 의 proctected void onCreate(Bundle saved InstanceState)함수 뒤에 다음 코드 를 추가 합 니 다.슈퍼.onCreate(saved InstanceState)에서;앞 에

StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectDiskReads().detectDiskWrites().detectNetwork()
.penaltyLog().build());
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
.detectLeakedSqlLiteObjects().detectLeakedClosableObjects()
.penaltyLog().penaltyDeath().build()); 
이 방법 은 추천 하지 않 습 니 다.해결책 중 하나 야.
해결 방법 2:
새 스 레 드 를 엽 니 다.위 그림 의 방법 입 니 다.

new Thread(){ 
@Override 
public void run() 
{ 
//         
mClientManage.Connect();
} 
}.start(); 

좋은 웹페이지 즐겨찾기