Android-нить замораживается - PullRequest
0 голосов
/ 03 марта 2019

Я написал тестовую программу для 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.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...