왜 JSON 구문 분석은 점점 더 효율적이되고있다?

ColonD :

나는 구문 분석하는 기능이 JSON안드로이드에 있습니다. 내가 사용하는 org.json내 구문 분석.

그것은이 같은 것입니다 :

class ClassName {

public static ArrayList<DataObjectClass> parseResponse(String response){

    JSONObject responseObject = new JSONObject(response);
    if(responseObject.has("someArray")){
        JSONArray someArray = responseObject.getJSONArray("someArray");
        // etc... etc... and i do logic
        }
    }
    return new DataObjectClass(params...)
}

지금은 시작부터 끝까지 내 분석을 초과하고, 때마다 나는 다시 구문 분석 시간이 (내가 응용 프로그램을 종료하고 다시 오지 않는 한) 감소 기능을 호출

나는 확인 JSONTokener코드와 JSONObject코드를,하지만 난 캐싱 코드를 찾을 수 없습니다. 어디 이런 일이 내가 (테스트 목적)을 해제 할 수있는 방법

TheKarlo95 :

그것은 ART (의 Andorid 런타임) 코드를 실행하는 방법을 함께 할 수있는 뭔가가있을 수 있습니다.

에서 문서 :

안드로이드 런타임 (ART)는 코드가 실행으로 지속적으로 안드로이드 응용 프로그램의 성능을 크게 향상시킬 수 있음을 프로파일 링과 적시 (JIT) 컴파일러가 포함되어 있습니다. JIT를 컴파일러 보완 예술의 현재 앞서-의 시간 (AOT) 컴파일러 및 런타임 성능을 향상 저장 공간을 절약하고, 응용 프로그램 및 시스템 업데이트 속도가 빨라집니다. 또한 공중파 (OTA) 갱신 중에 자동 애플리케이션 또는 애플리케이션 갱신의 컴파일 동안 시스템 감속을 회피하여 AOT 컴파일러 개선시킨다.

JIT 및 AOT는 최적화의 유사한 세트와 같은 컴파일러를 사용하지만, 생성 된 코드는 동일하지 않을 수 있습니다. JIT의 차종은 ​​인라인 더 잘 할 수, 런타임 타입 정보를 사용하고 약간 다른 코드를 생성, 모두 스택 교체를 만든다 (OSR) 편집 가능.

이 수단마다 ART 당신에게 코드를 실행하는 것이 그것을 실행하는 방법을 분석하고 그 개선 방법. 앱을 종료 할 때 데이터가 손실되고 그것은 다시 시작되는 모든 것을. 이것은 모든 JVM (자바 가상 머신) 애플리케이션에서 일반적입니다.

추천

출처http://43.154.161.224:23101/article/api/json?id=231649&siteId=1