2016-06-28 3 views
0

volley를 사용하여 요청 개체를 직접 작성하려면 parseNetworkResponse 메서드를 재정의해야합니다. 이 방법에서는 응답을 구문 분석하고 정적 메서드를 호출 Response.error 또는 Response.success 그럼 내 질문 : 메서드가 별도의 스레드 또는 UI 스레드에서 호출 되었습니까? 파싱 ​​할 큰 데이터가 있으면이를 수행하고 요청에서 객체를 반환하는 것이 좋습니다.UI 스레드에서 parseNetworkResponse 메서드가 호출됩니다.

+0

시도해 보셨습니까? 그것을 UI 스레드에 배치하고 그것이 NetworkOnMainThreadException을 제공하는지 여부를 관찰 했습니까? – KunalK

답변

2

발리는 작업자 스레드에서 parseNetworkResponse()을 호출합니다. 이렇게하면 JPEG을 비트 맵으로 디코딩하는 등의 고비용 구문 분석 작업이 UI 스레드를 차단하지 않습니다.

이제는 작업자 스레드 란 무엇입니까?

Ans By의 : 이 UI에 필요한 변화를 만드는 UI 스레드.

작업자 스레드은 ui 스레드에서 발생하는 변경 사항을 간섭하지 않으려는 처리를 할 수있는 또 다른 스레드입니다. UI가 변경되는 동안 UI 스레드에서 많은 양의 처리를 수행하는 경우 UI가 완료 될 때까지 UI가 고정됩니다.

참조 : https://developer.android.com/training/volley/request-custom.html

관련 문제