2014-09-15 1 views
2

대용량 사진 데이터베이스가 애셋 디렉토리 (350MB의 JPG 파일)에 저장된 Android 프로젝트에서 작업하고 있습니다.Android Studio에서 빌드간에 애셋 캐싱

문제 : : 응용 프로그램을 실행할 때마다 몇 분이 걸리는 350MB가 모두 복사됩니다. 파일은 실행 사이에 변경되지 않으므로 한 번 복사하고 이후 실행시 자산 디렉토리를 건너 뛸 수 있습니까? 그렇다면 어떻게?

-

편집 : 이미지 서버 측 저장에 관한 : 프로젝트가 서버 측 구성 요소를 승인하지 않은 클라이언트입니다, 그래서 우리는 로컬 스토리지 붙어있어 당분간.

+1

참고 : Google Play 스토어를 통해 설치된 앱의 크기는 50MB로 제한되어 있으므로 [APK 확장 파일] (http://developer.android.com/google/play/expansion-files)을 사용해야합니다. .html)을 Google Play에서 공개하려는 경우 – ianhanniballake

+0

@ianhanniballake 아, Google에서 파일 크기 제한을 4GB로 높이는 것에 관한 기사를 건너 뛰었습니다. 실제로는 확장 파일이 포함되었습니다. 이것을 지적 해 주셔서 감사합니다. – bmat

답변

0

Google Play는 현재 APK expansion file documentation에 따라 APK의 파일 크기를 50MB로 제한합니다. 동일한 페이지에서 APK 확장 파일을 사용하는 것이 좋습니다.

Google Play는 애플리케이션의 확장 파일을 호스팅하고 무료로 기기에 제공합니다. 확장 파일은 앱에서 액세스 할 수있는 기기의 공유 저장 위치 (SD 카드 또는 USB 마운트 가능한 파티션, '외부'저장 용량이라고도 함)에 저장됩니다. 대부분의 기기에서 Google Play는 APK를 다운로드하는 동시에 확장 파일을 다운로드하므로 사용자가 앱을 처음 열 때 애플리케이션에 필요한 모든 것이 있습니다. 그러나 경우에 따라 애플리케이션이 시작될 때 애플리케이션이 Google Play에서 파일을 다운로드해야합니다.

1

assets 폴더의 모든 내용은 최종 apk으로 패키지되고 장치 또는 에뮬레이터에 업로드됩니다. 즉,이 앱을 릴리스하면 설치시 350MB의 여유 공간이있는 전화기가 필요합니다. 많은 기기에이 기능이 없습니다.

이 콘텐츠를 제공하는 다른 방법을 고려해야합니다. 예를 들어 웹 서버에 업로드하고 앱을 작성하여 필요한 이미지 만 다운로드 할 수 있습니다.

+0

이론적으로는 동의하지만 불행히도 프로젝트는 서버 측 구성 요소를 승인하지 않은 클라이언트를 대상으로합니다. 현재로서는 로컬 스토리지가 필요합니다. – bmat

+1

@Blake 또 다른 대안은 [APK 확장 파일] (http://developer.android.com/google/play/expansion-files.html)을 사용하는 것입니다. –

+0

감사합니다. 이것은 유망한 것으로 보인다. – bmat

관련 문제