Red de conocimiento informático - Conocimiento del nombre de dominio - Código fuente de Weibo Android

Código fuente de Weibo Android

Esta es una función que puede crear mensajes multiproceso.

Cómo utilizar:

1. Primero cree un objeto Handler.

Handler Handler = new Handler();

2, luego crea un objeto Runnable

Runnable Runnable = new Runnable(){

@Override

Public void run(){

//TODO fragmento de método generado automáticamente

//Qué hacer, llame a este objeto Runnable nuevamente aquí, para implementar una operación de temporizador cada dos segundos.

handler.postDelayed(this, 2000);

}

};

3. Utilice el método PostDelayed y espere dos. segundos Este objeto Runnable se llama más tarde.

handler.postDelayed(runnable, 2000);

En realidad implementa un temporizador de 2 segundos.

4. Si quieres apagar este temporizador, puedes hacerlo.

handler . remove callbacks(runnable);

Por supuesto, también puedes intentar crear una función de retraso de recordatorio de alarma, como usar MediaPlayer para reproducir el sonido de la alarma primero.

Si no lo recuerdas, después de detenerlo, se reproducirá la próxima vez en 5 minutos. Si se detiene nuevamente, la próxima vez se reproducirá en 4 minutos.

………………

Esto se puede lograr cambiando el tiempo de retardo. Es más fácil operar con objetos estáticos.

Puede ser asincrónico, pero el Runnable se ejecuta en el hilo donde se encuentra el objeto Handler.

Si el subproceso en el que se encuentra es el subproceso de la interfaz de usuario, las operaciones que consumen mucho tiempo no se pueden realizar en Runnable; de ​​lo contrario, será ANR.

Hace unos días, nuestro propio dispositivo quedó muy atascado y se quedó atascado en la interfaz de salto en menos de 1 segundo. Puse la acción de salto dentro del Runnable y agregué un cuadro emergente de aviso de progreso afuera.

Nota: Dar ejemplos.

Actividad de extensión XXX de clase pública

{

@Override

Anulación pública al crear (estado de instancia guardado del paquete)

{

super . oncreate(savedInstanceState);

requestWindowFeature(window.feature_number_title);

setContentView(r . diseño . cargando);

Handler Handler = new Handler();

handler.postDelayed(new splashhandler(), 2000); //Retraso de 2 segundos, luego ejecuta splashhandler run().

}

El manejador de salpicaduras de clase implementa Runnable

{

Public void run()

{

iniciar actividad(nueva intención(obtener aplicación(), segunda actividad. clase)); //Muestra la segunda pantalla.

XXX . this . terminar(); //Pantalla final 1

}

}

}