2013-06-05 4 views
3

누구나 구형 장치에서 Volley를 테스트 할 수 있습니까?Volley ImageLoader는 구형 장치에서 실제로 느립니다.

저는 싱글 코어 800mhz cpu를 가진 ZTE Blade를 보유하고 있습니다.

Volley가 이미 디스크에 있더라도 이미지를로드하기 전에 4-5 초 또는 그 이상 기다리는 것으로 나타났습니다.

내 코드는 Galaxy S2와 Xoom에서 절대적으로 빠른 속도입니다.

저는 Universal-Image-Loader를 사용했으며 이전 장치에서는 문제가 없었습니다.

디버깅 방법을 잘 모르겠습니다.

나는 비트 맵 디코딩에서 동기화 오브젝트를 제거하는 경우조차도 내부에 들어갔다. 그러나 전혀 쓸모가 없다.

성능이 좋지 않아 출시 전 새로운 ICS 지원없이 출시해야하는 앱이 있습니다.

+0

Traceview는 병목 현상이 어디에 있는지를 보여줄 수 있습니다. 발리는 서류 미비로 지원되지 않기 때문에 현명한 선택인지 여부도 고려할 수 있습니다. – CommonsWare

+0

내일 유니버설 이미지 로더 재 구현 작업을하는 중입니다. 아마도 traceview를 파헤쳐 야 할 것입니다. 전에 사용하지 않았을 것입니다. –

+0

이 불에 연료를 추가하려면. 분명히 Volley를 사용하는 최신 Play 스토어 앱은이 오래된 기기에서 이미지를로드하는 속도가 실제로 느립니다. 똑같은 문제는 플레이 스토어의 미리보기 이미지/아이콘 페이지 전체를 쳐다 보면서 이미지를로드하기 전에 한 번에 30 초가 걸리는 것입니다. 내 주변을 탐색 할 수있는 애플 리케이션을 설치하고 심지어 하나의 이미지가로드되기 전에 브라우징을 의미합니다. –

답변

8

Volley의 ImageLoader 동작은 미리보기 이미지의 '페이지'에 맞춰 조정 된 것처럼 보이며 너무 길거나 인접한 스트림이 아닙니다. 이를 위해 ImageLoader의 응답은 실제로 전달되기 전에 지연/일괄 처리됩니다. 따라서 준비가되어있는 이미지는 가능한 한 빨리 Google I/O 토크에서 알게되는 일종의 페이지로드 미적 감각을 달성 할 수 있습니다. 이 비록 하루의 끝에서 어떤 문제가 발생하는 이유가 단지 100ms에 의해 지연 의미가 있기 때문에

http://www.youtube.com/watch?v=yhv8l9F44qo

당신은 잘 모르겠어요 다음

mImageLoader = new ImageLoader(mQueue, imageCache); 
mImageLoader.setBatchedResponseDelay(0); 

으로이 동작을 제거 할 수 있습니다 , 나는 도착하는 새로운 내용을 기반으로 그 지연을 연장하는 것을 보지 못한다. 그러나 내가 발견 한 다른 것을 계속 조사하고보고 할 것이다. 그러나 이것은 구형 장치에 대한 응답 성을 개선하고 새로운 장치는 물론 여전히 버터입니다.

+0

공유 해 주셔서 감사합니다. –

+0

은 내가 할 수있는 경우 최대 2 표를 부여했을 것입니다. 오, 나 알아! –