Jako część aplikacji na Androida, którą rozwijam, dostępna jest funkcja pokoju rozmów. Mamy serwer, który może przetwarzać przychodzące wiadomości i przechowywać wiadomości. Czy lepiej jest pozostawić otwarte połączenie między telefonem a serwerem, aby serwer mógł wysyłać nowe wiadomości do telefonu, czy też lepiej, aby telefon sondował serwer pod kątem nowych wiadomości czatu?Android - Sockets vs Polling
Odpowiedz
Pobieranie nie ma połączenia w czasie rzeczywistym, a trwałe połączenie to wyczerpanie baterii. Myślę, że to, czego szukasz, to połączenie "pchającego" i trwałego połączenia. Budzisz telefon przez naciśnięcie, a następnie nawiążesz połączenie przez gniazda do obsługi czatu.
Proponuję przeczytać artykuł o numerze this. Nie jestem pewien, czy wspomina o c2dm, usłudze Google Push.
To złe rozwiązanie w przypadku sondowania aplikacji, które losowo publikują dane. Chcę powiedzieć, że dane do głosowania są przydatne, gdy coś dzieje się dyskretnie, co każde 5 minut lub coś podobnego. To nie jest przypadek z czatu, niektóre użytkownik może opublikować te coś w godzinę, niektóre mogą zakładać 30 razy w 2 minuty
tak zachować swoje gniazda otwarte
chciałbym zachować gniazdo otwarte, jeśli są zaniepokojeni wiadomości błyskawicznych, konfiguracja połączenia przez gniazdo wymaga czasu, zwłaszcza jeśli korzystasz z połączenia GSM. Widziałem, że potrzeba 10 sekund lub więcej, aby otworzyć gniazdo na 3G, a tym bardziej na WiFi.
Czy możesz zakwalifikować swoje oświadczenie "Trwałe połączenie to wyczerpanie baterii"? – AgileYogi
"Trwałe połączenie to wyczerpanie baterii", ponieważ utrzymanie otwartego połączenia oznacza, że będziesz potrzebował stałego zużycia zasobów. – kuchi