이 방법을 사용하면 동적 콘텐츠를 효과적으로 캐시하는 동시에 응용 프로그램에서 오래된 정보를 표시하지 않도록 할 수도 있습니다. 다운로드를 줄이는 가장 기본적인 방법은 필요한 것만 다운로드하는 것입니다. 데이터 측면에서 REST API를 구현하면 마지막 업데이트 시간과 같은 매개 변수를 사용하여 반환된 데이터를 제한하는 쿼리 조건을 지정할 수 있습니다. 지적했듯이 캐시를 사용할 시기 나 정리 시기는 어렵고 Conan을 사용하여만 수행 할 수있는 것이 아니므로 CI 컴퓨터에 일종의 지속성이 필요합니다. 이 2 가지를 사용하면 공유 패키지 캐시가 필요없이 빈 캐시가 정말 빨리 채워집니다. 이러한 노력이 어떻게 진행되는지 살펴보겠습니다. 안드로이드 4.0은 HttpsURLConnection에 응답 캐시를 추가했습니다. 다음과 같이 리플렉션을 사용하여 지원되는 장치에서 HTTP 응답 캐싱을 활성화할 수 있습니다. Wi-Fi를 사용하는 경우 PC에서 웹 사이트를 열거나 여기에서 인터넷 속도를 테스트하십시오. 작동 중인 것 같지만 속도가 느린 경우 모뎀을 다시 시작하거나 ISP에 문의하십시오. 정상적으로 작동하지만 Google Play가 여전히 앱 이나 게임을 다운로드하지 않는 경우 일시적으로 데이터로 전환합니다. 이 기능은 의미가 있습니다.

캐시 수준이 아닌 “conan 응용 프로그램” 수준에서 인터넷에서 잠재적으로 큰 파일을 캐싱하는 것이 합리적입니다. 동일한 source.zip을 수백 번 검색하는 CI 서버는 자체 Artifactory 일반 리포지토리를 포함하여 모든 서버에서 로컬로 캐싱하는 것이 도움이 됩니다. Docker 빌드도 해당 캐시를 공유하여 이점을 얻을 수 있습니다. 가장 간단한 구현은 uploader_downloader.py에서 다운로더가 기존 파일을 삭제하지 않도록 하는 새로운 명령줄 옵션을 추가하는 것입니다. 나는 그것이 코드의 몇 줄이라고 제안한다. 마찬가지로 이미지를 다운로드할 때 클라이언트에서 줄어있는 전체 크기의 이미지를 다운로드하는 대신 서버 측이미지 크기를 줄이는 것이 좋습니다. 하지만 호스트와 게스트 간에 약간의 통신을 하는 것이 유용할 수 있습니다. 예를 들어 다운로드 캐시를 제공할 수 있는 호스트에서 REST 서비스를 사용하는 경우입니다. 끌어오기 캐시 정책을 사용하는 작업은 캐시를 다운로드하지 않습니다. 이 샘플 코드는 이전 릴리스에 영향을 주지 않고 Android 4.0+ 장치에서 응답 캐시를 켭니다. S3의 파일에 연결되는 웹 페이지의 캐싱을 제어하고 S3 파일에 대한 링크를 수정하여 파일이 변경될 때 캐시에서 내용을 사용하지 않도록 할 수 있습니다.

기본적으로 URL 끝에 ?version=1을 넣을 수 있습니다. 이 파일을 ?version=2(등)로 변경하면 URL이 정확하게 일치하지 않으므로 브라우저에서 파일의 캐시된 버전을 사용하지 않습니다. 내 질문은 코난 패키지 도구 + docker + 코난에 관한 것입니다. docker 내부에서 실행되는 conan 프로세스는 항상 빈 캐시로 시작됩니다. 따라서 Artifactory가 이것을 제공하고 내가 틀렸다면 나를 수정하지 않는 한, 호스트에서 다운로드를 캐시하고 일부 인터페이스를 사용하여 docker 인스턴스에 제공하는 것이 유용 할 것입니다. 남은 것은 Google Play를 열고 다운로드를 다시 시도하는 것입니다. 하지만 플레이 스토어를 다운 그레이드에 대해 너무 많이 걱정하지 마십시오! 앱은 자동으로 사용 가능한 최신 버전으로 업데이트됩니다. 어떤 이유로 수동으로 업데이트하거나 설치해야 하는 경우 Play 스토어 를 다운로드하고 설치하는 방법에 대한 자세한 가이드를 여기에서 확인할 수 있습니다. 풀을 사용하지 마십시오 … 그러나 이것은 캐시가 모든 작업 후에 업로드된다는 것을 의미하기 때문에 끔찍합니다. 작업 수를 최소화하기 위해 빌드를 재구성하는 것이 유일한 해결 방법입니다.

예를 들어, 끌어당기면 캐시가 성공적으로 사용되며 아무것도 다운로드하지 않고 연결이 괜찮지만 다운로드가 보류 중이면 장치를 다시 시작해야 합니다.