¿Existe una función sleep () para Android NDK?
En Android NDK, ¿hay una función sleep () que duerme durante milisegundos X, pero no bloquea el bucle de eventos?
Estamos escribiendo pruebas API para trabajar en Mac, Windows y Android. Hasta ahora, hemos implementado algún tipo de sleep () para Mac y Windows, pero todos somos nuevos en Android NDK y necesitamos algo de ayuda. Gracias de antemano.
- Cómo construir / utilizar sharpen de XobotOS?
- Beneficios de usar Native en Android
- Cómo lento o rápido es Qt móvil para Android
- Compilación de STXXL bajo Android NDK r8b
- Desarrollo de procesamiento de audio Little Endian SDK con NDK
- GCC: Prueba de herencia simple falla
- Trabajar alrededor de QString móvil error
- Android NDK: Llamada de funciones Java desde C ++
- Cómo dibujar / hacer una colisión de física de bala cuerpo / forma?
- Convierta C.jstring a cadena nativa en Go
- Android NDK clang compilador no puede encontrar std :: make_unique
- ¿Alguien tiene puntos de referencia (código y resultados) que comparan el rendimiento de las aplicaciones de Android escritas en Xamarin C # y Java?
- ¿Por qué Android utilizó el concepto de Java en lugar de lenguaje D o C o C ++? Pero el navegador web Chromium está en C ++, su partido muy complicado
¿Así que está buscando un método sleep()
que duerma durante cierto tiempo pero no bloquee el bucle de eventos? Esto suena extraño para mí. Creo que es posible que desee utilizar un nuevo hilo en su lugar y llamar el método sleep () allí – sin tener que usar cualquier JNI.
Convirtiendo @mreichelt commment en una respuesta:
Sí hay una función de sleep(seconds)
.
1.add #include <unistd.h>
- Llamada:
sleep(seconds)
ousleep(microseconds)
Nota: Un microsegundo (nosotros o la letra griega mu plus s) es un millonésimo (10 -6) de segundo, mientras que un milisegundo (ms o msec) es una milésima de segundo
Las funciones normales de sueño de linux (usleep, etc) bloquearán el hilo que las llama. Depende de usted que el hilo que es – esperemos que no la interfaz de usuario uno.
Un acercamiento más androide del estilo sería configurar un acontecimiento para suceder en una hora futura y después volver del acontecimiento actual. Cuando se desencadene el nuevo evento, tome el siguiente paso. Piensen, por ejemplo, en una máquina de estado con cada estado entrando como un evento, haciendo algo efectivamente instantáneo, programando el siguiente estado para un tiempo futuro y luego regresando.
Puede utilizar [Handler.postDelayed] [1] para programar un Runnable para que se ejecute después de un tiempo establecido, el bucle de eventos continuará funcionando mientras tanto.
[1]: http://developer.android.com/reference/android/os/Handler.html#postDelayed(java.lang.Runnable , largo)
SÍ se define en unistd.h Pero la función de sueño cuidadoso no es estandarizada por lo que en el sueño de Windows que se define en `en Windows
sleep(int millisenconds);
En linux
int sleep(unsigned int seconds); int usleep(useconds_t useconds);
Usleep toma microseconds donde el sueño toma segundos. 1 segundo = 1 * 1000 * 1000
- ¿Por qué mi nombre de aplicación de Android es el mismo que el nombre de actividad del lanzador?
- GetActivity () no puede encontrar el símbolo: method getActivity ()