Thema:
Re:Asynchrones Laden von Bildern möglich? flat
Autor: Stitch
Datum:28.01.19 21:11
Antwort auf:Asynchrones Laden von Bildern möglich? von Rocco

>Mit ist gerade bei meinem Topic [https://maniac-forum.de/forum/pxmboard.php?mode=message&brdid=26&msgid=4449841] aufgefallen, dass das gif offensichtlich etwas groß ist und es einige Sekunden dauert bis der Post auf dem iOS-Client geladen wird bevor er angezeigt wird. Das hat dann den Eindruck, dass irgendwas nicht funktioniert.
>
>Könnte man man den Text sofort anzeigen und die Bilder asynchron laden mit einem Platzhalter oder ähnlich bis der Ladevorgang abgeschlossen ist


Ja das Problem kenne ich natürlich. Ich weiß nicht genau welche Thread Ansicht du nutzt, aber zumindest in der Standardansicht ist das ganze nicht wirklich trivial. Problem ist, dass ich bevor der Post ausgeklappt werden kann wissen muss wie die Höhe ist. Der WebView, welche den eigentlichen Post dann anzeigt, würde normal schon alle externen Ressourcen asynchron laden, da musst ich extra ein wenig tricksen, damit ich dem das abgewöhne bzw mitbekomme wann das abgeschlossen ist.
Platzhalter sind eine Idee, auf die ich ehrlich gesagt noch nicht gekommen bin, wäre mit einigem JS gefriemel und dem schon für die Spoiler Tags implementierten Event System (JS to Obj-C) auch bestimmt irgendwie möglich, befürchte aber ohne es ausprobiert zu haben dass es dann zu unschönem rumgezuckel kommt, wenn es normal schnell lädt. Ich kann ja nicht voraussagen wie groß die Bilder sind.
Die Widmann Ansicht reizt die TableView Klasse von iOS sowieso schon bis an's letzte aus mit unseren riesigen Threads. Hab erst vor kurzem mal ein längeren Plausch mit einem sehr erfahrenen iOS Entwickler gehabt, der sogar mal bei Apple gearbeitet hat. Irgendwie kamen wir dann auf das Thema Schmerzen mit UIKit und als ich ihm von meiner privaten Forums App erzählt habe, hat er schon ein wenig gestaunt, dass ich das überhaupt alles so hinbekommen habe wie es jetzt ist.


>Evtl simpler wäre ein Loading-Indicator wenn man auf den Post klickt, der anzeigt, dass die App schon was im Hintergrund macht aber es noch dauert bis das ganze angezeigt wird.

Das war bisher auch meine Hauptidee, nur wohin mit dem Loading-Indicator? Das einfachste wäre natürlich wie bei den meisten Netzwerk-Requests welche keinen kompletten View laden einfach den Kringel oben in der Status-Bar drehen zu lassen. Nur wurde der ja auf den Notch-Phones leider abgeschafft. Die Requests für "normale" Posts sind ja zu kurz, da würde sowas nur zu einem Flackern führen. Eine Idee wäre noch damit zu warten bis zB eine Sekunde vergangen ist, hätte dann natürlich das gleiche Ergebnis wenn der Request 1,1 Sekunden dauert.

Lange Rede kurzer Sinn, das Problem ist mir bekannt und nervt mich selbst :)
Muss da aber noch ein wenig experimentieren um eine sinnvolle Lösung zu finden.


< antworten >