Я написал тестовую программу для Android, которая загружает собственный код (файл .so).В нативном коде я создаю нить с помощью функции pthread_create
.
Код довольно прост:
void *threadProc(void *) {
while (true) {
usleep(100000);
__android_log_printf(ANDROID_LOG_INFO, "TAG", "IN LOOP");
}
return NULL;
}
pthread_create(&t, NULL, threadProc, NULL);
В adb logcat
я вижу, что при запуске яесть журналы ~ 100 мс, но со временем он начинает складываться на несколько секунд.Когда мое приложение переходит в фоновый режим, все начинает отлично работать, и я вижу журналы каждые ~ 100 мс.Когда приложение выходит на передний план: опять поток «стеков».
Почему?Это только для примера - я пытаюсь сделать сеть с epoll
в потоке с циклом и там, то же самое идет.Кто-нибудь может мне помочь?
Мое устройство: Samsung S8 с Android 8.
Спасибо!