¿Vale la pena esperar un par de milisegundos en un evento TextChanged?

Tengo un campo de texto para un filtro de acción de los clientes en un dispositivo móvil. Me pregunto si debo esperar unos milisegundos antes de lanzar mi código cuando el usuario escribió menos de 3 caracteres, y sólo ejecutar el código si el texto es más largo o igual a 3 caracteres.

El código ejecutado tarda más tiempo (sql como la sintaxis en una base de datos más grande), y el usuario ve hang-outs en el listview.

¿Qué piensas?

Retrasar consultas SQL en eventos de texto cambiado es una buena idea. Usamos esta técnica en Android. También siempre asegúrese de cancelar cualquier consulta anterior. Por ejemplo, si el usuario escribe "ab", y publicamos un mensaje para iniciar una consulta después de que el usuario escribió "a", cancelamos ese mensaje cuando el usuario escribe "b".

Si el usuario ve bloqueos cuando se inicia el código, no lo lanzaré de inmediato.

Suponiendo que la consulta se ejecuta sobre la marcha en función de la entrada del usuario, esperaría hasta que el usuario escribe suficientes caracteres para procesar una consulta más clara y no atascaría la interfaz de usuario. Especialmente usando la sintaxis %LIKE% , menos char con el que tiene que trabajar, significa una consulta más grande y un tiempo de espera más largo para el usuario.

Intentaría usar el mismo enfoque que las aplicaciones nativas de Android, ya que el código fuente está disponible. Por ejemplo Contactos .

Compruebe lo que hacen cuando busca un contacto.

Algunas aplicaciones también realizan la validación de entradas cuando el foco se mueve a otro campo de entrada y no comprueban la entrada mientras se está editando. No estoy seguro de si es una buena cosa o no (me parece un poco confuso), pero definitivamente es una manera de resolver el problema …

En el iPhone si ve el retraso mientras el usuario está escribiendo después de iniciar una búsqueda, es probable que necesite mover la operación de consulta a un subproceso de fondo, con la posibilidad de cancelar búsquedas antiguas como RG mencionó hacer.

Podría tener sentido retrasar un poco para los primeros caracteres, pero luego no tienen retraso más allá de eso – después de unos tres a cuatro probablemente tenga suficientes caracteres para comenzar a obtener resultados significativos.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.