Как указал @simoco, вам вообще не нужно использовать цикл. Но если вы все же захотите или столкнетесь с аналогичными проблемами в будущем, все вышеперечисленное должно сработать.

Возникает вопрос: почему приложения каким-то образом не загружают заранее информацию, которую они уже показали пользователю в виде уведомления? В таком случае, почему Gmail не предварительно загружает письмо, о котором я уведомил? Это проблема iOS или приложения этого просто не делают?

1
Maxim Filippov 21 Мар 2014 в 14:34
Срок службы батареи, использование сети, возможности. На самом деле ряд причин.
 – 
Wain
21 Мар 2014 в 14:44

2 ответа

Лучший ответ

Потому что это не дизайн push-уведомления. С его помощью вы можете отправлять только 256 КБ данных. Когда вы проводите пальцем по экрану для просмотра уведомления - затем выполняется сетевой вызов для получения остальной части уведомления. Это экономит время автономной работы и даже снижает расходы на сеть. Визуализация, если push-уведомление загружает все данные для каждого уведомления ... это быстро разряжает вашу батарею, пока вы даже не используете телефон.

0
Robert J. Clegg 21 Мар 2014 в 14:58
Хорошо, а как насчет предварительной загрузки 256 КБ в приложении? Извлекает ли Gmail только несколько слов каждый раз или 256 КБ письма? Потому что если второе, то я предполагаю, что он мог бы использовать эти данные для предварительной загрузки писем, которые меньше 256 КБ.
 – 
Maxim Filippov
21 Мар 2014 в 16:38
1
Вы должны понимать, что push-уведомление содержит не только ваши данные (в данном случае текст), но и другую информацию, такую ​​как токен устройства, форматирование и т. д. — общий размер уведомления не может превышать 256 КБ. Итак, почему отправляется только несколько строк текста и некоторые другие данные, которые ваше приложение может использовать, чтобы вывести пользователя на правильный экран при запуске приложения.
 – 
Robert J. Clegg
21 Мар 2014 в 16:40

Вау, я чувствую, что очень близок к этому.

0
aBilal17 21 Мар 2014 в 14:44