Closed kvnco closed 11 years ago
Bonjour, Je ne vois pas trop l'optimisation.
Aujourd'hui, lors du démarrage de l'application, trois requêtes sont réalisées :
Ensuite, lors de la navigation dans les répertoires, les 20 premiers articles non lus d'un flux sont récupérés lors de la sélection de ce flux (les articles des autres flux ne sont pas récupérés).
Du coup, que les dossiers aient ou non des articles non lus, la requête n'est faite que si le flux est sélectionné.
L'option "Masquer les répertoires vides" permet d'éviter la sélection et donc la requête pour un dossier sans messages non lus.
Re bonjour,
Mon premier message a été écrit rapidement, je parlais de flux et non des dossiers (qui sont tout deux récupérés par getFolders). (j'ai corrigé le titre en ce sens)
L'intérêt n'est peut-être pas évident pour tous les usages, mais l'optimisation me paraît simple à faire (ajout d'un flag lors de l'appel à getFolders) et intéressante dans un cas comme le mien.
Je suis "abonné" à pas loin de 500 flux. Sur ceux-ci j'en ai généralement 1/3 qui comporte des items non lus (estimation à la louche, pour l'ordre de grandeur). L'appel à getFolders retourne dans mon cas une réponse de 65 Ko qui pourrait ainsi être réduite de manière importante par ce moyen. En outre, lors de la synchronisation pour le mode hors ligne, un appel est fait pour chacun de ces 500 flux, même si ceux-ci sont vide. Même avec une connexion wifi, celà prend plusieurs minutes. À cette étape, il est intéressant de pouvoir réduire le nombre d'appels d'autant.
Une autre solution à ce dernier point, si l'on ne souhaite pas modifier le getFolders est de ne faire l'appel que pour les flux non vides.
Re,
Ok, la modification ne concerne que la récupération des flux lorsque l'on passe en mode off line. Il est vrai qu'un temps important peut être gagné dans cette phase :smile:
Merci pour cette excellente idée !
Un message informant l'utilisateur que le flux n'a pas été téléchargé est à prévoir. Juste pour montrer que si il a été shunté c'est pour une bonne raison.
Ce n'est pas une mauvaise idée, même si au final cette optimisation est transparente pour l'utilisateur donc il n'y aura pas plus besoin d'un message qu'il n'en faudrait un aujourd'hui. :)
ok, mais il faut tout de même affiché le flux à l'écran.
OK je n'avais pas compris que l'on parlait d'afficher un message lors de la synchronisation pour le mode hors ligne. Dans ce cas, oui, un petit message d'information serait pas mal…
Hello, Je ne vois pas d'autres cas d'utilisation de cette fonctionnalité... ou je n'ai pas bien compris (?)
Justement, je ne voyais pas trop où et comment afficher ce message… Nous sommes donc synchro. :)
J'ai fait un pull request sur Leed-API apportant les modifs serveurs nécessaires à ce développement.
Bonjour @kvnco,
Merci pour ta contribution, j'ai fait le pull :smile: J'ai également modifié le code pour ne récupérer que les flux dans lequel il y a au moins un article non lu (si l'option "Masquer un répertoire vide" est choisie dans les préférences).
Bonjour,
Une optimisation intéressante de la consommation du réseau serait, lorsque l'option correspondante est cochée : ne demander au serveur que les dossiers qui comportent au moins un item non lu. Cela peut alléger les appels, et à mon avis de façon assez impressionnante lors d'un téléchargement pour consultation hors ligne.