2011-11-16 2 views
1

JavaScript memory and HTML5 LocalStorage limitations on smartphones에 대한 질문을했지만 문제가 좀 더 구체적으로 나타났습니다.오프라인 캐시 및 스마트 폰의 JS 메모리와 결합 된 HTML5 LocalStorage 제한

오프라인 사용을 위해 더 많은 데이터를 저장해야하는데 그 중 큰 부분은 사전입니다. 나는 오프라인 사용을 위해 캐싱 될 자바 스크립트 (단순히 배열 데이터를 JS 변수로로드)에 사전을 저장하는 아이디어를 가졌다. 오프라인 비즈니스 데이터는 LocalStorage에 저장됩니다. 또한 JS 메모리는 동일한 엔티티를 서버에서 한 번 이상로드하지 못하도록 온라인 사용을위한 일부 캐시를 보유합니다.

큰 오프라인 캐시 (예 : 4MB)를 사용하고 메모리에 많은 양을 저장하면 LocalStorage에 사용할 수있는 저장소에 영향을 미칩니 까? 오프라인 캐시 사용량이 많아 3MB로 제한 될 수 있습니다. 누군가 이러한 응용 프로그램에 대한 경험이 있고 모바일 장치의 특정 브라우저에서 문제를 처리해야합니까?

내 질문 Application Cache Manifest + Local Storage Size Limit과 비슷한 대답은 필자가 오프라인 캐시 제한과 LocalStorage 제한을 별도로 테스트 한 것으로 이해하므로 공정한 정보를 제공하지 못합니다.

JS 메모리 응용 프로그램에 대해 더 걱정 스럽지만 브라우저가 경고없이 닫힐 수도 있습니다. 하나의 장치에서 테스트해도 응용 프로그램이 덜 강력 해지는 것은 아닙니다.

모바일 브라우저의 제한 사항을 테스트 한 경우 작성하십시오. 포스트는 어디에서 단서를 찾을 지, 더 이상 검색을하지 않거나 노력이 끝나지 않은 테스트 시나리오를 설명 할 수 있습니다. 주제가 상당히 새롭기 때문에 대부분의 연구가 초안임을 알고 있습니다.

갱신 나는 오페라 모바일 11 일에 테스트와, 로컬 저장 제한에 대한 내 언급 질문을 업데이 트했습니다,하는 나는 많은 메가 바이트 한계 이상에서 보관 할 수 있었다.

또한 적어도 iPad에서는 Increase iPad cache over 50 MB?에 따르면 50MB의 데이터를 저장할 수 있으며 곧 iPhone에서 테스트를 수행 할 수 있기를 바랍니다.

답변

0

조금 실험 후, 나는 오페라 자원을 제한하지 않는 것을 발견했습니다. LocalStorage 제한을 늘리라는 메시지가 표시되며이 제한은 응용 프로그램 캐시에 파일을 저장해도 영향을받지 않습니다.

Firefox에는 설정 가능한 LocalStorage 제한이 있으므로 이론적으로 많은 양의 데이터를 저장할 수 있으며 응용 프로그램 캐시의 영향을받지 않습니다. 그러나 모바일 파이어 폭스는 데스크톱 형제와 같이 너무 형편없는 것으로 써 저장소를 집중적으로 사용할 때 안드로이드에 의해 죽임을 당할 정도로 비효율적으로 자원을 관리합니다. 따라서 사람들이 적어도 안드로이드 장치에서는 Firefox를 사용하지 못하게 할 것입니다.

안드로이드 브라우저는 응용 프로그램 캐시에 영향을받지 않는 2,5 MB 제한을 갖고있는 것으로 보이지만 적어도 5MB의 사용에 대한 의혹에 따르면 안드로이드 브라우저는 그다지 낮지 않습니다.그러나이 브라우저는 정확한 GPS 위치 (AFAIK는 버그가 아닌 보안상의 이유로)를 제공하지 못하기 때문에이 브라우저는 지원할 옵션이 없습니다.

2

대부분의 경우 모바일 장치는 도메인의 모든 저장소에 대해 5mg로 제한되어 있습니다. 여기에는 모든 로컬/세션 저장소, 인덱싱 된 db, websql, 응용 프로그램 캐시 또는 기타 항목이 포함됩니다.

이 경우 데이터를 저장하는 가장 좋은 방법은 사전 데이터에 로컬 스토리지 또는 WebSQL을 사용하는 것이지만 모든 데이터를 저장하는 대신 80 % 유스 케이스의 콘텐츠를 저장하고 쉬운 방법을 제공하십시오 필요에 따라 추가 정보를로드 할 수 있습니다.

HTH, 피트

+1

문제는 오프라인 모드에서는 추가 정보를로드 할 수 없다는 것입니다. 필요한 것은 이전에 이용 가능해야합니다. –