2009-06-22 6 views
1

UIWebView를 사용하여 외부 서버에서 웹 페이지를로드하고 있습니다. 페이지가 매우 느리게로드됩니다. Edge를 사용하면 ~ 30 초가 걸립니다. WiFi를 사용하면 약 5-6 초가 소요됩니다. Safari를 통해 직접로드 할 때 동일한 페이지가 훨씬 빠릅니다.UIWebview가 iPhone 장치에서 느림 시뮬레이터가 빠름

시뮬레이터에서 UIWebView는 매우 반응적입니다.

누구나 UIWebView의 성능을 향상시킨 경험이 있습니까? 한 가지 생각은 정적 HTML 페이지와 이미지를 사용하고 JSON으로 데이터 단위를로드/채우는 것입니다.

답변

-2

시뮬레이터가 광대역 연결을 사용하고 있기 때문입니다.

+0

시뮬레이터는 내 노트북과 동일한 WiFi 연결을 사용하는 랩톱에서 실행되었습니다. –

+2

시뮬레이터에는 RAM과 네트워크 연결과 같은 자체 리소스를 사용하지만로드하는 데 랩톱 리소스를 사용하는 시뮬레이터는 훨씬 더 빠른 CPU와 RAM을 가진 –

+0

시뮬레이터가 있습니다. – CKT

2

간단한 정적 HTML을 사용하는 경우에도 UIWebView는 다른 어떤 것보다로드가 느립니다. UILabel은 항상 훨씬 빠릅니다.

HTML 엔진의 일부 측면 (예 : 자바 스크립트 인터프리터)은로드하는 데 다소 시간이 걸리기 때문에 이것이라고 생각합니다. 그러나 UIWebView의 이미 생성 된 인스턴스를 유지하더라도 새로운 컨텐츠를로드하는 속도는 눈에 띄게 느립니다.

하나의 가능성은 UIWebView를 백그라운드에서 유지하고 표시 할 이미지를 가져 오는 것입니다. 그러면 디스플레이 지연을 피할 수 있습니다. 그 경우에는 & 붙여 넣기가 끊어지고 UIWebView가 디스플레이에 표시되지 않는 방식에 따라 작동하지 않을 수도 있습니다.

JSON로드를 사용하는 정적 HTML은 아마도 사용자가 얻는 속도만큼 빠릅니다. 3G에서는 눈에 띄는 지연이 거의 없을 수도 있습니다.

0

몇 점.

  1. 시뮬레이터는 순전히 API 시뮬레이터이며, 에뮬레이터가 아닙니다. 즉, Mac의 모든 기능을 사용하고 API가 동일한 방식으로 작동하는지 확인하는 것입니다. Mac에서의 성능은 모바일 장치와 상관 관계가 없습니다.
  2. UIWebView 구성 요소는 WebKit을 기반으로하지만 사파리에 포함 된 것 중 오래된 버전입니다. UIWebView는 Safari보다 항상 성능이 떨어집니다.
관련 문제