Синхронизация Gmail на телефоне на базе Android

Android имеет функции нажатия Gmail, что означает, что новое сообщение прибывает в почтовый ящик, не проверяя или обновляя почтовый ящик.

Как я понимаю, синхронизирующие процессы похожи на них:
1) Пользователь включает синхронизацию
2) Будет аварийное сообщение и синхронизирующий флаг в Gmail, DB этого устройства будет Верен
3) Когда новое электронное письмо достигнет Сервера Gmail, оно проверит, синхронизирует ли устройство значение, если это Верно, затем посылают электронное письмо

Хорошо, здесь, я не вполне понимаю, как точно делает это работает,
Для WiFi и сигнального соединения ячейки, делает телефон, имеет сокет TCP открытое содержание, слушая Сервер Gmail, или когда новое электронное письмо прибывает Сервер, и это отправляет SMS, остерегающееся телефона, и телефон откроет канал передачи данных для выборки электронной почты? Два способа соединений имеют разные подходы?

И второй вопрос - какой метод является приоритетом один?
Скажите, когда Вы будете посреди получения данных (электронные письма) и внезапно телефонное подключение к беспроводной сети, сокет данных будет закрыт и затем вновь открыт для WiFi один? Каково поведение для случая, когда канал передачи данных поставщика услуг и WiFi зеркально отражают?

Я также загрузил исходный код, кто-либо знает, какую часть я должен изучать, чтобы к решает мои вопросы? Я нашел папку названной "электронной почтой" в папке "пакет", я должен смотреть на его код?

Я знаю, что задал некоторые вопросы здесь, я буду ценить, если Вы будете знать ответ для какого-либо из них, спасибо очень много!

5
задан sunocky 25 March 2010 в 23:01
поделиться

1 ответ

Технически это не часть Android, а скорее проприетарный набор приложений Google, который работает на Android. Это также не совсем реализовано в Gmail - приложения Google в совокупности имеют push-соединение для передачи данных с серверами Google (построенное на протоколе данных gtalk, но в основном там по историческим причинам), которое они разделяют. Когда новая почта доступна, push-соединение используется для отправки на устройство "щекотки", чтобы сообщить, что что-то изменилось в почте, и на устройстве это затем отправляется в приложение gmail, которое открывает новое соединение сокета со своим сервером. чтобы синхронизировать локальное состояние с произошедшими изменениями. Этот же механизм используется для синхронизации контактов и календаря, а также для таких вещей, как инициирование загрузок с рынка.

То, как это работает, является деталью реализации, но в настоящее время это делается путем сохранения открытого сокетного соединения. В сети, которая не поддерживает передачу голоса и данных, соединение разрывается при выполнении голосового вызова. При переключении между Wi-Fi и сотой соединение разрывается и перезапускается.

Обратите внимание, что выполнение push-уведомлений таким способом требует значительных ресурсов устройства, поэтому он был тщательно разработан, чтобы позволить одному такому экземпляру поддерживать все службы Google.

6
ответ дан 14 December 2019 в 13:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: