L'Application Mobile “impossible de charger l'opération précédente en raison de la faible mémoire” après le chargement de l'image?
J'ai un simple application mobile. Il commence par demander à l'utilisateur de sélectionner une image qui est ensuite chargé localement via le code suivant et affichées sur une toile:
function handleFileSelect(evt) {
var files = evt.target.files;
var f = files[0];
console.log(evt);
var ctx = document.getElementById("myCanvas").getContext('2d'),
img = new Image(),
f = document.getElementById("uploadbutton").files[0],
url = window.URL || window.webkitURL,
src = url.createObjectURL(f);
img.src = src;
lastImage = img;
img.onload = function()
{
window.requestAnimationFrame(function(){
var w = window.innerWidth;
var h = window.innerHeight;
ctx.clearRect(0, 0, w, h);
ctx.drawImage(lastImage, 0, 0);
//url.revokeObjectURL(src);
});
}}
Dans mon navigateur web et sur mon téléphone, l'image est chargé et affiché dans une toile correctement, cependant, j'ai entendu parler d'un utilisateur qui était en cours d'exécution sur un Razr Maxx HD avec Google Chrome, afin qu'ils reçoivent le message "Erreur: impossible de charger l'opération précédente en raison de la faible mémoire." Je soupçonne que ce problème ne peut être résolu par une première lecture à l'image et à l'échelle avant l'affichage, car la totalité de l'image ont déjà été chargées dans la mémoire même si ne s'affiche pas. Est-il possible de charger une version modifiée d'une image dans la mémoire sans premier chargement de l'ensemble de la chose? Toute idée de ce qui est à l'origine de ce problème que je suis en mesure de charger massive des images sur mon Galaxy S3 dans le chrome et le Galaxy S3 a la même quantité de RAM que le Razr Maxx HD?
OriginalL'auteur Reed B | 2014-02-21
Vous devez vous connecter pour publier un commentaire.
Il peut dépendre des applications que l'utilisateur est en cours d'exécution à la quantité de mémoire disponible.
Une solution consiste à la demande de l'application de l'image avec une certaine largeur et le serveur peut renvoyer une image à l'échelle, ce qui devrait réduire les besoins en mémoire.
Je ne savais pas que. Avoir plus d'une version, peut-être les regrouper dans des répertoires, et le javascript peut prendre la meilleure. L'utilisateur a l'exécuter de mémoire sur la première charge ou de la 10ème image?
Ils ont couru sur la première image.
OriginalL'auteur James Black
J'ai eu le même problème sur mon Samsung Galaxy S4. J'ai trouvé la solution sur mon téléphone et j'ai pas eu de problèmes depuis:
OriginalL'auteur Stephen Brazil