2014-01-05 1 views
12

내 앱의 webView가 페이지를로드하고 나를 위해 클릭을 자동화하고 원하는 항목을 추가하는 자바 스크립트를 삽입합니다. 이런 경우에는 페이지를로드하기 위해 데이터 세션이나 임시 세션을 사용하는 것이 좋습니다. 속도가 중요하며, Objective-C (yupp, 심지어 밀리 초)에서 가능한 한 많이 최적화하려고합니다.iOS : 데이터 세션 대 임시 세션

페이지는 기본적으로 제품 페이지를로드하므로 실제 제품을 제외한 모든 것이 항상 동일합니다 (배경보기, 웹 사이트 메뉴 표시 줄, 단추 이미지 등). 지금 NSURLConnection을 사용하고 NSURLSession을 대신 사용하도록 코드를 업데이트하려고합니다.

답변

1

디스크에 데이터를 캐시하려는 경우 기본 세션을 사용하는 것이 좋습니다. 임시 세션에서 사용하지 않는 항목

병목 현상은 거의 항상 IO이므로 데이터가 변경되지 않을 때 캐싱을 원합니다. 데이터를 빠르게 연결하려면이 방법은 가치가 없지만 데이터가 변경되지 않는다고 명시 적으로 말하십시오.

+0

: 1 src을 언급하지 않고 질문에 전혀 답하지 않는 docs의 인용문 –

13

기본 세션은 URL 다운로드를위한 다른 기반 방법과 비슷하게 작동합니다. 영구 디스크 기반 캐시를 사용하고 사용자의 키 체인에 자격 증명을 저장합니다.

  1. 글로벌 또는 공유 쿠키, 캐시 및 자격 증명 저장소 개체를 사용하는 구성. 동작은 NSURLConnection과 유사합니다.

  2. 공유 세션은 글로벌 싱글 톤 자격 증명, 캐시 및 쿠키 저장 객체를 사용합니다. [: 큐 : completionHandler :있는 NSURLConnection sendAsynchronousRequest] 이것은 +를 사용하여 기존의 코드 대신에 사용될 수

임시 세션 디스크에 데이터를 저장하지 않는다; 모든 캐시, 신임 저장소 등은 RAM에 저장되어 세션에 연결됩니다. 따라서 앱이 세션을 무효화하면 자동으로 제거됩니다.

  1. 쿠키, 캐시 및 자격 증명 저장소 개체를 유지하지 않는 개인 세션 구성. 이름에서 알 수 있듯이 구성 설정은 수명이 짧으며 세션이 무효화되면 삭제됩니다.

백그라운드 세션은 기본 세션과 유사하지만 별도의 프로세스가 모든 데이터 전송을 처리한다는 점만 다릅니다. 배경 세션은

  1. 배경 세션이 세션을 기본값으로 유사하다 ". Background Transfer Considerations"에 설명 된 몇 가지 추가 제한을 가지고,하지만 특정 제약 조건 내에서, 일시 중지 된 응용 프로그램을 대신하여 네트워킹 작업을 수행 할 수 있습니다.

  2. 기본 세션과 비슷하지만 응용 프로그램이 일시 중지 된 상태에서도 데이터 업로드 또는 다운로드를 수행 할 수 있습니다.이미지 아래 Apple Doc

    //Default session 
    + (NSURLSessionConfiguration *)defaultSessionConfiguration; 
    
    //Ephemeral 
    + (NSURLSessionConfiguration *)ephemeralSessionConfiguration; 
    
    //Background 
    + (NSURLSessionConfiguration *)backgroundSessionConfiguration:(NSString *)identifier; 
    

    NSURLSession 작업 및 대표

    에서

참조 NSURLSession 작업 및 계층 구조의 유형을 설명합니다.

More Details

enter image description here

당신도 당신이
+0

거의 한 후 더 높은 수 있습니다 당신도 => 인식 성능을 실행하지 않는있는 PAE를 다운로드 유지하기 위해 데이터 세션을 사용하는 것이라고 말할 수 –