Страницы

Поиск по вопросам

вторник, 7 апреля 2020 г.

Android: Периодический опрос сервера [закрыт]

#java #android

                            
             
                
                    
                        
                            Закрыт. На этот вопрос невозможно дать объективный ответ.
Ответы на него в данный момент не принимаются.
                            
                        
                    
                
            
                    
                
                        
                            
                        
                    
                        
                            Хотите улучшить этот вопрос? Переформулируйте вопрос,
чтобы на него можно было дать ответ, основанный на фактах и цитатах, отредактировав его.
                        
                        Закрыт 4 года назад.
                    
                
        

Уже кучу информации изучил и везде мнения расходятся. Вопросов несколько:

На данный момент организовал Service, который запускается через alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,
cur_cal.getTimeInMillis(), 300000, pendingIntent);
alarmManager объявлен в главной Activity (менюшка с фрагментами)


Как работают месенжеры по типу Skype, Viber? У них свои пуш серверы, или там другие
технологии используются? Слышал что-то о websocket. 
Как лучше реализовать постоянный опрос сервера с наименьшей тратой батареи телефона?

    


Ответы

Ответ 1



Больше года назад пришлось потратить некоторое время на изучение второго вопроса. Поиск через Google вывел меня только на один результат исследования по этой теме, где было сказано что smart polling может быть экономичнее использования websockets. Что под этим подразумевалось? Если просто тупо опрашивать сервер с постоянным интервалом, то чудес ждать не стоит. Батарея будет расходоваться неоптимально. Websockets экономичнее. Нужно быть smart :) Анализировать поведение пользователя, знать логику бэкенда и подстраивать интервал опроса соответственно этому. Пример, пользователь отправил что-то на сервер, вы знаете что это попадет в какую-то очередь и раньше 30 секунд результата ждать не стоит. Нечего зря бомбить сервер раньше времени. Либо пользователь читает длинный пост, можно ждать пока дочитает, потом запросить сервер есть ли что нового. Так же слушать системные события, собирать запросы и посылать пачками, кэшировать результаты и всякое такое. Сложно? Да. Стоит того? Да. Не хочется делать? Тогда websockets, а лучше push.

Комментариев нет:

Отправить комментарий