JavaScript mémoire et HTML5 LocalStorage limitations sur les smartphones
Je vais développer application web qui devrait fonctionner sur des appareils mobiles (smartphones). Dans l'application de l'opérateur de saisie de certaines données de l'entreprise, et l'opérateur de ce type de données également dans des espaces fermés, où le signal peut être indisponible.
Donc, il ya un besoin pour mode hors connexion. Dans un tel mode opérateur peut d'entrée de données qui seront stockées sur le côté navigateur, et après que le réseau est disponible, les données seront envoyées au serveur et a persisté dans la base de données.
J'ai trouvé 2 solutions possibles:
- Stocker les valeurs dans le code JavaScript de la mémoire. Ne survivront pas le plantage du navigateur ou de rechargement de la page.
- Stocker les valeurs dans HTML5 LocalStorage. Nécessite navigateur avec HTML5 de soutien et de garantie que ce stockage sera persistante (pas de chasse d'eau après la fermeture de l'application navigateur).
Parce que je n'ai pas développé l'application web pour les smartphones encore, et j'ai peu d'expérience avec eux, j'ai la question:
Quels sont les JavaScript de la mémoire et HTML5 LocalStorage limitations particulières pour les navigateurs sur les smartphones (Android, Windows Mobile, Windows Phone, iPhone)?
Je sais que théoriquement HTML5 LocalStorage devrait être de 5 mo, et JavaScript mémoire devrait dépendre de l'appareil de ressources, qui devrait être au moins de 5 mo, mais comment c'est pour les Smartphones? F. g. J'ai remarqué que sur Windows Phone 6.5, que le jStorage page, à l'aide de userData pour les anciens c'est à dire, n'est pas la persistance des données sur ce périphérique (peut-être ai rincé après chaque actualisation de la page, au cours de la limitation des ressources).
mise à jour
Dans le réponse à la question de la taille max des locaux de stockage des valeurs il y a un grand lien de la simple application qui teste le stockage local des limitations, et d'après le test que j'ai fait, les locaux de stockage peut être augmentée sur Opera Mobile 11 sans navigateur limitation, l'utilisateur doit simplement accepter la demande de plus d'espace. Les limites sont là, le dispositif de limites.
Voici le QR code de l'application:
Et l'application elle-même:
http://arty.name/localstorage.html
- Mon (Android) HTC desire a une taille maximale du cache de 6 MO, ce qui est partagé sur tous les sites web à l'aide de HTML5 de Stockage. Sur le 6MO, se remplir, extrêmement ennuyeux de l'espace disque icône s'affiche en haut du téléphone, jusqu'à ce que l'espace est désactivée.
Vous devez vous connecter pour publier un commentaire.
Dans mon expérience, vous pouvez de manière fiable pari sur 5MB minimum pour les plates-formes que vous mentionnez ci-dessus. Gardez vos données en-dessous de ce niveau et vous devriez être assez fort.
De lire cet article. http://diveintohtml5.info/storage.html il a quelques belles pépites de l'info, mais ce n'est pas tous exacts, en particulier la partie qui dit que vous ne pouvez pas la limite.
Je sais pour un fait que sur l'iPhone une fois que vous atteignez la limite le téléphone demandera à l'utilisateur s'il souhaite laisser plus d'espace. (Sorte de précis, mais pas entièrement)
Sur les plates-formes Android la mémoire de masse limite est fixée à 12 MO. Pas sûr que sur les autres plates-formes. Puisque vous allez être en cours d'exécution dans une sorte de webcontainer (Webkit ou autres) je n'aurais pas trop de soucis à ce sujet. Les conteneurs eux-mêmes sont assez bon dans la gestion de la mémoire et de la mise en œuvre de fichier caches afin de minimiser leur empreinte.
Je vous recommande de laisser les optimisations de mémoire et pour la dernière. Qui sait, vous pourriez même pas besoin. Ne pas optimiser prématurément.
PS:
Regardez Phonegap: http://phonegap.com/
viens de tester votre lien: vérifier localstorage
tous aller jusqu'à 2.600.000 caractères. Depuis UTF-8 dispose de 4 octets, il suffit de multiplier par quatre et vous obtenez le nombre total d'octets.
10400000 octets = les 9 918 Mégaoctets
Sur mon humble HTC Wildfire S avec Android 2.3.5 votre page arrêté à 2,600,000. Je suis impressionné c'est qu'élevé.
Sur Firefox 16.0.1 bureau d'arrêt 5,200,000 qui est cohérent avec ce que le about:config de quota est défini à l'.