Plantilla de texto enriquecido 3

Escena del proyecto:

Ejemplo: escenario del proyecto: Ejemplo: comunicarse con la aplicación del teléfono móvil a través del chip Bluetooth (HC-05) y transmitir un lote de datos del sensor cada 5 segundos (no muy grande)

Descripción del problema:

Ejemplo: Durante la transmisión de datos, los datos pueden perderse de vez en cuando y parte de los datos pueden perderse ocasionalmente
. El código de datos de recepción en la
APLICACIÓN : @Override
public void run () { bytes = mmInStream.read (buffer); mHandler.obtainMessage (READ_DATA, bytes, - 1, búfer) .sendToTarget (); }


Análisis de causa:

Ejemplo: hay dos formas para que Handler envíe mensajes, a saber, Handler.obtainMessage () y Handler.sendMessage (). Cuando la cantidad de datos es demasiado grande en el método getsMessage, el tamaño de MessageQuene también es limitado, por lo que cuando el mensaje no se procesa a tiempo, causará Los datos transmitidos primero se sobrescriben, lo que resulta en la pérdida de datos.

solución:

Ejemplo: cree un nuevo objeto Message y guarde los datos leídos en Message, luego mHandler.obtainMessage (READ_DATA, bytes, -1, buffer) .sendToTarget (); reemplácelo con mHandler.sendMessage ().

Supongo que te gusta

Origin blog.csdn.net/cpongo1/article/details/107985736
Recomendado
Clasificación