На сколько рационально использовать один Handler внутри другого? Android

Пишу приложение для Андроид и возникла задача, где мне необходимо добавить в интерфейсе пользователя новое поле, с новым игроком, при обновлении базы данных(Я использую Firebase database realtime).

Для выполнения этой задачи я решил сделать метод timeUpdate(), где создаю handler и запускаю, чтобы он выполнялся каждую секунду для проверки условий, на протяжении выполнения всей программы. Если наконец-то условие совпадает, то я создаю еще один handler, где тоже проверяю каждую секунду данные полученные из базы с данных, которые были до них, секунду назад, проверяю до момента, пока условие совпадает и потом закрываю второй handler, при этом первый продолжает работать на протяжении всей программы.

void timerUpdate(){
        final Handler handler = new Handler();
        final int delay = 1000; //milliseconds
        handler.postDelayed(new Runnable(){
            public void run(){
                if (lobbyLayout.getVisibility() == View.VISIBLE){
                    final Handler handler1 = new Handler();
                    handler1.postDelayed(new Runnable(){
                        public void run(){
                            if(lobbyLayout.getVisibility() != View.VISIBLE){
                                handler1.removeCallbacksAndMessages(null);
                               //больше нет необходимости проверять базу каждую секунду.
                            }else{
                               //Проверка базы на обновление каждую секунду.
                            }
                        }
                    }, delay);
                }
                handler.postDelayed(this, delay);
            }
        },delay);
    }

Вопрос: На сколько является рациональным данный метод, загружает ли это систему от того, что существует такой метод, который вызывается каждую секунду, может есть решения получше в Андроид?


Ответы (0 шт):