Lohnt es sich, bei einem TextChanged-Ereignis einige Millisekunden zu warten?

8

Ich habe ein Textfeld für eine Filteraktion für Kunden auf einem mobilen Gerät. Ich frage mich, ob ich einige Millisekunden warten sollte, bevor ich meinen Code starte, wenn der Benutzer weniger als 3 Zeichen eingegeben hat, und führe den Code nur aus, wenn der Text länger oder gleich 3 Zeichen ist.

Der ausgeführte Code dauert länger (sql-ähnliche Syntax in einer größeren Datenbank), und der Benutzer sieht Hangouts in der Listenansicht.

Was denkst du?

    
Pentium10 14.02.2010, 20:39
quelle

5 Antworten

5

Es ist in der Tat eine gute Idee, SQL-Abfragen für textveränderte Ereignisse zu verzögern. Wir verwenden diese Technik für Android. Wir stellen auch immer sicher, dass alle vorherigen Abfragen abgebrochen werden. Wenn der Benutzer beispielsweise "ab" eingibt und wir eine Nachricht senden, um eine Abfrage zu starten, nachdem der Benutzer "a" eingegeben hat, brechen wir diese Nachricht ab, wenn der Benutzer "b" eingibt.

    
Romain Guy 14.02.2010, 21:16
quelle
1

Wenn der Benutzer beim Start Ihres Codes Hangouts sieht, würde ich ihn nicht sofort starten.

Unter der Annahme, dass die Abfrage auf der Basis der Benutzereingabe im Handumdrehen ausgeführt wird, würde ich warten, bis der Benutzer genügend Zeichen eingibt, um eine leichtere Abfrage zu verarbeiten, und die Benutzeroberfläche nicht beeinträchtigen würde. Vor allem mit %LIKE% Syntax, weniger Chars, mit denen Sie arbeiten müssen, bedeutet eine größere Abfrage und eine längere Wartezeit für den Benutzer.

    
Anthony Forloney 14.02.2010 20:50
quelle
0

Ich würde versuchen, den gleichen Ansatz wie Android native Anwendungen zu verwenden, da der Quellcode verfügbar ist. Zum Beispiel Kontakte .

Überprüfen Sie, was sie tun, wenn Sie nach einem Kontakt suchen.

    
Macarse 14.02.2010 20:56
quelle
0

Einige Anwendungen führen auch eine Überprüfung der Eingaben durch, wenn sich der Fokus auf ein anderes Eingabefeld bewegt, und überprüfen die Eingabe nicht, während sie bearbeitet wird. Ich bin mir nicht sicher, ob es eine gute Sache ist oder nicht (ich finde es ein wenig verwirrend), aber es ist definitiv eine Möglichkeit, das Problem zu lösen ...

    
Tomas Petricek 14.02.2010 21:04
quelle
0

Wenn Sie auf dem iPhone Lag sehen, wenn der Benutzer nach dem Start einer Suche tippt, müssen Sie den Suchvorgang wahrscheinlich in einen Hintergrundthread verschieben, mit dem die Möglichkeit besteht, alte Suchvorgänge abzubrechen, wenn RG dies erwähnt.

Es kann sinnvoll sein, die ersten Zeichen etwas zu verzögern, aber danach keine Verzögerung mehr - nach etwa drei bis vier haben Sie wahrscheinlich genug Zeichen, um aussagekräftige Ergebnisse zu erhalten.

    
quelle