Обходной путь для socket.io в Android Wear - PullRequest
0 голосов
/ 06 мая 2019

У меня уже есть обходной путь, но мне нужно мнение, чтобы сделать лучше. Я пытаюсь портировать простое приложение на Wear, которое использует socket.io. Я обнаружил, что socket.io не работает на Wear в настоящее время. socket.io вызывает только вызов API в моем приложении, поэтому я сделал Handler.postDelayed с задержкой в ​​500, чтобы сделать его максимально реалистичным.

Меня беспокоит, что Handler будет повторяться снова и снова, пока пользователь не закроет приложение. Я уже исправил вызов API, чтобы не обновлять RecyclerView, когда старый и новый ответ равны. Что я могу сделать, чтобы сделать его более эффективным, чем у меня уже есть?

Это мой текущий код.

Runnable somethingRunnable = new Runnable() {
    @Override
    public void run() {
        try{
            getSomething(serverUrl);
        }finally {
            getSomethingHandler.postDelayed(somethingRunnable, 500);
        }

    }
};

Это мое состояние внутри getSomething.

if(!newResponse.equals(oldResponse)){
    oldResponse = newResponse;
}else{
    return;
}
...