Qu'est-ce que cette console avertissement, je reçois des Différée à long minuteur tâche(s) pour améliorer la fluidité de défilement?
Mon Application est une Application Cordova. Cette semaine, j'ai vu beaucoup de mises en garde dans ma console:
Deferred long-running timer task(s) to improve scrolling smoothness. See crbug.com/574343.
Jamais vu avant cette semaine. Je n'utilise pas beaucoup de settimeouts que certains de ces procédés sont assez grandes et donc ne sont pas rendu à l'utilisateur que son traitement.
//GETS MEDICINES VIA MYCLOUD
function getMedicinesFromServer() {
//Start Process
myProcess("Syncing Medicines", true);
setTimeout(function () {
var data = getAllModifiedMedicines(viewModel.MedicineCupboard());
sendAllMedicines(data);
}, 300);
}
Est-ce un faux positif ou est-il une meilleure façon.
Plein de Raison pour ces stupides délais d'attente est de veiller à ce que l'utilisateur sait lorsqu'ils cliquent sur un bouton pour envoyer les données, elles sont mis au courant.
À l'ancienne:
myProcess("Syncing Medicines", true);
var data = getAllModifiedMedicines(viewModel.MedicineCupboard());
sendAllMedicines(data);
Ne garantit pas rendu à l'utilisateur le processus.
OriginalL'auteur tyler_mitchell | 2016-05-05
Vous devez vous connecter pour publier un commentaire.
L'avertissement est pour vous indiquer que la minuterie n'a pas tiré sur le temps parce que c'est une longue course de rappel (> 50 ms) et l'utilisateur a été/est sur le point de défilement. Alors que votre rappel est en cours d'exécution, Chrome ne peut pas démarrer le défilement de la page afin que le résultat est "jank", la saisie de l'utilisateur de ne pas être traitées en temps opportun. Pour améliorer l'expérience de l'utilisateur, google Chrome a décidé de reporter le tir de rappel jusqu'à un temps où il ne sera pas nuire à l'utilisateur.
Je ne connais pas les détails de ce que vous essayez de faire, mais la façon correcte de faire les choses serait de segmenter votre grand rappel en lots plus petits et les étaler afin qu'un appel ne sera pas sensiblement retarder les actions de l'utilisateur. Vous pouvez en plus de regarder à l'aide de requestIdleCallback qui va appeler votre fonction uniquement lorsque google Chrome est inactif et est idéalement adapté pour les non-temps de tâches critiques. (Cependant, requestIdleCallback est pris en charge uniquement sur google Chrome, comme à présent).
OriginalL'auteur David Bokan