Инструмент «Сетевой трафик» устарел. Если вы используете Android Studio 3.0 или более поздней версии, вам следует использовать Network Profiler , чтобы проверить, как и когда ваше приложение передает данные по сети.
В предыдущем разделе вы пометили код своего приложения идентификаторами трафика, выполнили тесты и собрали данные. В этом уроке вы узнаете, как просматривать собранные вами данные о сетевом трафике, и предложите действия по повышению производительности сети вашего приложения и снижению энергопотребления.
Анализируйте сетевой трафик приложений
Эффективное использование сетевых ресурсов приложением характеризуется значительными периодами, когда сетевое оборудование не используется. На мобильных устройствах запуск радиосвязи для отправки или получения данных, а также поддержание активности мобильной радиосвязи в течение длительного периода времени сопряжены со значительными затратами. Если ваше приложение эффективно обращается к сети, вы должны увидеть, что его сетевые коммуникации тесно сгруппированы, а периоды, когда приложение не отправляет запросы на подключение, хорошо разнесены.
На рис. 1 показан неоптимальный сетевой трафик из приложения, измеренный с помощью инструмента «Сетевой трафик». Приложение часто отправляет сетевые запросы. Этот трафик имеет несколько периодов покоя, когда радиостанция может переключиться в режим ожидания с низким энергопотреблением. Поведение этого приложения при доступе к сети может привести к тому, что радио будет оставаться включенным в течение длительных периодов времени, что неэффективно расходует заряд батареи.
На рис. 2 показана оптимальная структура сетевого трафика. Приложение отправляет сетевые запросы пакетами, разделенными длительными периодами отсутствия трафика, во время которых радиостанция может переключиться в режим ожидания. На этой диаграмме показан тот же объем выполняемой работы, что и на рисунке 1, но запросы сдвинуты и сгруппированы, чтобы позволить радиостанции большую часть времени находиться в режиме ожидания.
Если сетевой трафик вашего приложения выглядит так, как показано на рисунке 2, значит, все в порядке! Поздравляем! Возможно, вы захотите повысить эффективность работы сети, воспользовавшись методами, описанными в разделе «Оптимизация общего использования сети» .
Если сетевой трафик вашего приложения больше похож на график на рис. 1, пришло время более пристально взглянуть на то, как ваше приложение получает доступ к сети. Вам следует начать с анализа того, какие типы сетевого трафика генерирует ваше приложение.
Анализ типов сетевого трафика
Когда вы смотрите на сетевой трафик, генерируемый вашим приложением, вам необходимо понять источник трафика, чтобы можно было соответствующим образом оптимизировать его. Частая сетевая активность, генерируемая вашим приложением, может быть совершенно приемлемой, если оно реагирует на действия пользователя, но совершенно неуместной, если ваше приложение не находится на переднем плане или если устройство находится в кармане или сумочке. В этом разделе обсуждается, как анализировать типы сетевого трафика, генерируемого вашим приложением, и предлагаются действия, которые можно предпринять для повышения производительности.
На предыдущем уроке вы пометили код своего приложения для различных типов трафика и использовали инструмент «Сетевой трафик» для сбора данных о вашем приложении и создания графика активности, как показано на рисунке 3.
Инструмент «Сетевой трафик» окрашивает трафик на основе тегов, созданных вами на предыдущем уроке. Цвета основаны на константах типов трафика, которые вы определили в коде приложения. Вернитесь к коду вашего приложения, чтобы подтвердить, какие константы представляют трафик, инициируемый пользователем, приложением или сервером.
В следующих разделах обсуждается, как просматривать типы сетевого трафика, и приводятся рекомендации по оптимизации трафика.
Анализируйте сетевой трафик, инициируемый пользователем.
Сетевая активность, инициированная пользователем, может быть эффективно сгруппирована, пока пользователь выполняет определенное действие с вашим приложением, или распределяться неравномерно, когда пользователь запрашивает дополнительную информацию, которую необходимо получить вашему приложению. Ваша цель при анализе сетевого трафика, инициируемого пользователем, — выявить закономерности частого использования сети с течением времени и попытаться создать или увеличить размер периодов, когда доступ к сети отсутствует.
Непредсказуемость запросов пользователей затрудняет оптимизацию такого типа использования сети в вашем приложении. Кроме того, пользователи ожидают быстрых ответов, когда они активно используют приложение, поэтому задержка запросов на повышение эффективности может привести к ухудшению пользовательского опыта. В общем, вам следует отдавать приоритет быстрому реагированию пользователя над эффективным использованием сети, когда пользователь напрямую взаимодействует с вашим приложением.
Вот несколько подходов к оптимизации сетевого трафика, инициируемого пользователем:
- Предварительная выборка сетевых данных . Когда пользователь выполняет действие в вашем приложении, приложение предвидит, какие данные могут потребоваться для следующих действий пользователя, извлекает их массово за одно соединение и удерживает их до тех пор, пока пользователь не запросит их.
- Проверьте подключение или прослушайте изменения. Прежде чем выполнять обновление, проверьте подключение к сети или прослушайте изменения подключения.
- Уменьшите количество подключений . Используйте серверные API, которые позволяют загружать данные наборами.
Анализируйте сетевой трафик, инициируемый приложением
Сетевая активность, инициируемая кодом вашего приложения, обычно представляет собой область, в которой вы можете существенно повлиять на эффективное использование пропускной способности сети. Анализируя сетевую активность вашего приложения, обратите внимание на периоды бездействия и определите, можно ли их увеличить. Если вы видите закономерности постоянного доступа к сети из вашего приложения, поищите способы распределить эти доступы, чтобы радиоустройство устройства могло переключаться в режим пониженного энергопотребления.
Вот несколько подходов к оптимизации сетевого трафика, инициируемого приложениями:
Пакетная обработка и планирование сетевых запросов . Откладывайте сетевые запросы вашего приложения, чтобы их можно было обрабатывать вместе и в то время, которое экономит время автономной работы.
Разрешить системе проверять наличие подключения . Избегайте затрат батареи на запуск вашего приложения только для проверки сетевого подключения, когда вы можете позволить системе выполнять проверку, пока ваше приложение находится в спящем режиме.
Анализируйте сетевой трафик, инициируемый сервером.
Сетевая активность, инициируемая серверами, взаимодействующими с вашим приложением, также обычно является областью, где вы можете существенно повлиять на эффективное использование пропускной способности сети. Анализируя сетевую активность подключений к серверу, найдите периоды бездействия и определите, можно ли их увеличить. Если вы видите закономерности постоянной сетевой активности серверов, поищите способы распределить эту активность, чтобы радиоустройство устройства могло переключаться в режим пониженного энергопотребления.
Вот подход к оптимизации сетевого трафика, инициируемого сервером:
- Используйте FCM для обновлений сервера . Рассмотрите возможность использования службы Firebase Cloud Messaging для обновлений на стороне сервера вместо опроса.
Инструмент «Сетевой трафик» устарел. Если вы используете Android Studio 3.0 или более поздней версии, вам следует использовать Network Profiler , чтобы проверить, как и когда ваше приложение передает данные по сети.
В предыдущем разделе вы пометили код своего приложения идентификаторами трафика, выполнили тесты и собрали данные. Этот урок научит вас, как просматривать собранные вами данные о сетевом трафике, и предложит действия по повышению производительности сети вашего приложения и снижению энергопотребления.
Анализируйте сетевой трафик приложений
Эффективное использование сетевых ресурсов приложением характеризуется значительными периодами, когда сетевое оборудование не используется. На мобильных устройствах запуск радиосвязи для отправки или получения данных, а также поддержание активности мобильной радиосвязи в течение длительного периода времени сопряжены со значительными затратами. Если ваше приложение эффективно обращается к сети, вы должны увидеть, что его сетевые коммуникации тесно сгруппированы, а периоды, когда приложение не отправляет запросы на подключение, хорошо разнесены.
На рис. 1 показан неоптимальный сетевой трафик из приложения, измеренный с помощью инструмента «Сетевой трафик». Приложение часто отправляет сетевые запросы. Этот трафик имеет несколько периодов покоя, когда радиостанция может переключиться в режим ожидания с низким энергопотреблением. Поведение этого приложения при доступе к сети может привести к тому, что радио будет оставаться включенным в течение длительных периодов времени, что неэффективно расходует заряд батареи.
На рис. 2 показана оптимальная структура сетевого трафика. Приложение отправляет сетевые запросы пакетами, разделенными длительными периодами отсутствия трафика, во время которых радиостанция может переключиться в режим ожидания. На этой диаграмме показан тот же объем выполняемой работы, что и на рисунке 1, но запросы сдвинуты и сгруппированы, чтобы позволить радиостанции большую часть времени находиться в режиме ожидания.
Если сетевой трафик вашего приложения выглядит так, как показано на рисунке 2, значит, все в порядке! Поздравляем! Возможно, вы захотите повысить эффективность работы сети, воспользовавшись методами, описанными в разделе «Оптимизация общего использования сети» .
Если сетевой трафик вашего приложения больше похож на график на рис. 1, пришло время более пристально взглянуть на то, как ваше приложение получает доступ к сети. Вам следует начать с анализа того, какие типы сетевого трафика генерирует ваше приложение.
Анализ типов сетевого трафика
Когда вы смотрите на сетевой трафик, генерируемый вашим приложением, вам необходимо понять источник трафика, чтобы можно было соответствующим образом оптимизировать его. Частая сетевая активность, генерируемая вашим приложением, может быть совершенно приемлемой, если оно реагирует на действия пользователя, но совершенно неуместной, если ваше приложение не находится на переднем плане или если устройство находится в кармане или сумочке. В этом разделе обсуждается, как анализировать типы сетевого трафика, генерируемого вашим приложением, и предлагаются действия, которые можно предпринять для повышения производительности.
На предыдущем уроке вы пометили код своего приложения для различных типов трафика и использовали инструмент «Сетевой трафик» для сбора данных о вашем приложении и создания графика активности, как показано на рисунке 3.
Инструмент «Сетевой трафик» окрашивает трафик на основе тегов, созданных вами на предыдущем уроке. Цвета основаны на константах типов трафика, которые вы определили в коде приложения. Вернитесь к коду вашего приложения, чтобы подтвердить, какие константы представляют трафик, инициируемый пользователем, приложением или сервером.
В следующих разделах обсуждается, как просматривать типы сетевого трафика, и приводятся рекомендации по оптимизации трафика.
Анализируйте сетевой трафик, инициируемый пользователем.
Сетевая активность, инициированная пользователем, может быть эффективно сгруппирована, пока пользователь выполняет определенное действие с вашим приложением, или распределяться неравномерно, когда пользователь запрашивает дополнительную информацию, которую необходимо получить вашему приложению. Ваша цель при анализе сетевого трафика, инициируемого пользователем, — выявить закономерности частого использования сети с течением времени и попытаться создать или увеличить размер периодов, когда доступ к сети отсутствует.
Непредсказуемость запросов пользователей затрудняет оптимизацию такого типа использования сети в вашем приложении. Кроме того, пользователи ожидают быстрых ответов, когда они активно используют приложение, поэтому задержка запросов на повышение эффективности может привести к ухудшению пользовательского опыта. В общем, вам следует отдавать приоритет быстрому реагированию пользователя над эффективным использованием сети, когда пользователь напрямую взаимодействует с вашим приложением.
Вот несколько подходов к оптимизации сетевого трафика, инициируемого пользователем:
- Предварительная выборка сетевых данных . Когда пользователь выполняет действие в вашем приложении, приложение предвидит, какие данные могут потребоваться для следующих действий пользователя, извлекает их массово за одно соединение и удерживает их до тех пор, пока пользователь не запросит их.
- Проверьте подключение или прослушайте изменения. Прежде чем выполнять обновление, проверьте подключение к сети или прослушайте изменения подключения.
- Уменьшите количество подключений . Используйте серверные API, которые позволяют загружать данные наборами.
Анализируйте сетевой трафик, инициируемый приложением
Сетевая активность, инициируемая кодом вашего приложения, обычно представляет собой область, в которой вы можете существенно повлиять на эффективное использование пропускной способности сети. Анализируя сетевую активность вашего приложения, обратите внимание на периоды бездействия и определите, можно ли их увеличить. Если вы видите закономерности постоянного доступа к сети из вашего приложения, поищите способы распределить эти доступы, чтобы радиоустройство устройства могло переключаться в режим пониженного энергопотребления.
Вот несколько подходов к оптимизации сетевого трафика, инициируемого приложениями:
Пакетная обработка и планирование сетевых запросов . Откладывайте сетевые запросы вашего приложения, чтобы их можно было обрабатывать вместе и в то время, которое экономит время автономной работы.
Разрешить системе проверять наличие подключения . Избегайте затрат батареи на запуск вашего приложения только для проверки сетевого подключения, когда вы можете позволить системе выполнять проверку, пока ваше приложение находится в спящем режиме.
Анализируйте сетевой трафик, инициируемый сервером.
Сетевая активность, инициируемая серверами, взаимодействующими с вашим приложением, также обычно является областью, где вы можете существенно повлиять на эффективное использование пропускной способности сети. Анализируя сетевую активность подключений к серверу, найдите периоды бездействия и определите, можно ли их увеличить. Если вы видите закономерности постоянной сетевой активности серверов, поищите способы распределить эту активность, чтобы позволить радиомодулю устройства переключаться в режим пониженного энергопотребления.
Вот подход к оптимизации сетевого трафика, инициируемого сервером:
- Используйте FCM для обновлений сервера . Рассмотрите возможность использования службы Firebase Cloud Messaging для обновлений на стороне сервера вместо опроса.
Инструмент «Сетевой трафик» устарел. Если вы используете Android Studio 3.0 или более поздней версии, вам следует использовать Network Profiler , чтобы проверить, как и когда ваше приложение передает данные по сети.
В предыдущем разделе вы пометили код своего приложения идентификаторами трафика, выполнили тесты и собрали данные. В этом уроке вы узнаете, как просматривать собранные вами данные о сетевом трафике, и предложите действия по повышению производительности сети вашего приложения и снижению энергопотребления.
Анализируйте сетевой трафик приложений
Эффективное использование сетевых ресурсов приложением характеризуется значительными периодами, когда сетевое оборудование не используется. На мобильных устройствах запуск радиосвязи для отправки или получения данных, а также поддержание активности мобильной радиосвязи в течение длительного периода времени сопряжены со значительными затратами. Если ваше приложение эффективно обращается к сети, вы должны увидеть, что его сетевые коммуникации тесно сгруппированы, а периоды, когда приложение не отправляет запросы на подключение, хорошо разнесены.
На рис. 1 показан неоптимальный сетевой трафик из приложения, измеренный с помощью инструмента «Сетевой трафик». Приложение часто отправляет сетевые запросы. Этот трафик имеет несколько периодов покоя, когда радиостанция может переключиться в режим ожидания с низким энергопотреблением. Поведение этого приложения при доступе к сети может привести к тому, что радио будет оставаться включенным в течение длительных периодов времени, что неэффективно расходует заряд батареи.
На рис. 2 показана оптимальная структура сетевого трафика. Приложение отправляет сетевые запросы пакетами, разделенными длительными периодами отсутствия трафика, во время которых радиостанция может переключиться в режим ожидания. На этой диаграмме показан тот же объем выполняемой работы, что и на рисунке 1, но запросы сдвинуты и сгруппированы, чтобы позволить радиостанции большую часть времени находиться в режиме ожидания.
Если сетевой трафик вашего приложения выглядит так, как показано на рисунке 2, значит, все в порядке! Поздравляем! Возможно, вы захотите повысить эффективность работы сети, воспользовавшись методами, описанными в разделе «Оптимизация общего использования сети» .
Если сетевой трафик вашего приложения больше похож на график на рис. 1, пришло время более пристально взглянуть на то, как ваше приложение получает доступ к сети. Вам следует начать с анализа того, какие типы сетевого трафика генерирует ваше приложение.
Анализ типов сетевого трафика
Когда вы смотрите на сетевой трафик, генерируемый вашим приложением, вам необходимо понять источник трафика, чтобы можно было соответствующим образом оптимизировать его. Частая сетевая активность, генерируемая вашим приложением, может быть совершенно приемлемой, если оно реагирует на действия пользователя, но совершенно неуместной, если ваше приложение не находится на переднем плане или если устройство находится в кармане или сумочке. В этом разделе обсуждается, как анализировать типы сетевого трафика, генерируемого вашим приложением, и предлагаются действия, которые можно предпринять для повышения производительности.
На предыдущем уроке вы пометили код своего приложения для различных типов трафика и использовали инструмент «Сетевой трафик» для сбора данных о вашем приложении и создания графика активности, как показано на рисунке 3.
Инструмент «Сетевой трафик» окрашивает трафик на основе тегов, созданных вами на предыдущем уроке. Цвета основаны на константах типов трафика, которые вы определили в коде приложения. Вернитесь к коду вашего приложения, чтобы подтвердить, какие константы представляют трафик, инициируемый пользователем, приложением или сервером.
В следующих разделах обсуждается, как просматривать типы сетевого трафика, и приводятся рекомендации по оптимизации трафика.
Анализируйте сетевой трафик, инициируемый пользователем.
Сетевая активность, инициированная пользователем, может быть эффективно сгруппирована, пока пользователь выполняет определенное действие с вашим приложением, или распределяться неравномерно, когда пользователь запрашивает дополнительную информацию, которую необходимо получить вашему приложению. Ваша цель при анализе сетевого трафика, инициируемого пользователем, — выявить закономерности частого использования сети с течением времени и попытаться создать или увеличить размер периодов, когда доступ к сети отсутствует.
Непредсказуемость запросов пользователей затрудняет оптимизацию такого типа использования сети в вашем приложении. Кроме того, пользователи ожидают быстрых ответов, когда они активно используют приложение, поэтому задержка запросов на повышение эффективности может привести к ухудшению пользовательского опыта. В общем, вам следует отдавать приоритет быстрому реагированию пользователя над эффективным использованием сети, когда пользователь напрямую взаимодействует с вашим приложением.
Вот несколько подходов к оптимизации сетевого трафика, инициируемого пользователем:
- Предварительная выборка сетевых данных . Когда пользователь выполняет действие в вашем приложении, приложение предвидит, какие данные могут потребоваться для следующих действий пользователя, извлекает их массово за одно соединение и удерживает их до тех пор, пока пользователь не запросит их.
- Проверьте подключение или прослушайте изменения. Прежде чем выполнять обновление, проверьте подключение к сети или прослушайте изменения подключения.
- Уменьшите количество подключений . Используйте серверные API, которые позволяют загружать данные наборами.
Анализируйте сетевой трафик, инициируемый приложением
Сетевая активность, инициируемая кодом вашего приложения, обычно представляет собой область, в которой вы можете существенно повлиять на эффективное использование пропускной способности сети. Анализируя сетевую активность вашего приложения, обратите внимание на периоды бездействия и определите, можно ли их увеличить. Если вы видите закономерности постоянного доступа к сети из вашего приложения, поищите способы распределить эти доступы, чтобы радиоустройство устройства могло переключаться в режим пониженного энергопотребления.
Вот несколько подходов к оптимизации сетевого трафика, инициируемого приложениями:
Пакетная обработка и планирование сетевых запросов . Откладывайте сетевые запросы вашего приложения, чтобы их можно было обрабатывать вместе и в то время, которое экономит время автономной работы.
Разрешить системе проверять наличие подключения . Избегайте затрат батареи на запуск вашего приложения только для проверки сетевого подключения, когда вы можете позволить системе выполнять проверку, пока ваше приложение находится в спящем режиме.
Анализируйте сетевой трафик, инициируемый сервером.
Сетевая активность, инициируемая серверами, взаимодействующими с вашим приложением, также обычно является областью, где вы можете существенно повлиять на эффективное использование пропускной способности сети. Анализируя сетевую активность подключений к серверу, найдите периоды бездействия и определите, можно ли их увеличить. Если вы видите закономерности постоянной сетевой активности серверов, поищите способы распределить эту активность, чтобы позволить радиомодулю устройства переключаться в режим пониженного энергопотребления.
Вот подход к оптимизации сетевого трафика, инициируемого сервером:
- Используйте FCM для обновлений сервера . Рассмотрите возможность использования службы Firebase Cloud Messaging для обновлений на стороне сервера вместо опроса.
Инструмент «Сетевой трафик» устарел. Если вы используете Android Studio 3.0 или более поздней версии, вам следует использовать Network Profiler , чтобы проверить, как и когда ваше приложение передает данные по сети.
В предыдущем разделе вы пометили код своего приложения идентификаторами трафика, выполнили тесты и собрали данные. В этом уроке вы узнаете, как просматривать собранные вами данные о сетевом трафике, и предложите действия по повышению производительности сети вашего приложения и снижению энергопотребления.
Анализируйте сетевой трафик приложений
Эффективное использование сетевых ресурсов приложением характеризуется значительными периодами, когда сетевое оборудование не используется. На мобильных устройствах запуск радиосвязи для отправки или получения данных, а также поддержание активности мобильной радиосвязи в течение длительного периода времени сопряжены со значительными затратами. Если ваше приложение эффективно обращается к сети, вы должны увидеть, что его сетевые коммуникации тесно сгруппированы, а периоды, когда приложение не отправляет запросы на подключение, хорошо разнесены.
На рис. 1 показан неоптимальный сетевой трафик из приложения, измеренный с помощью инструмента «Сетевой трафик». Приложение часто отправляет сетевые запросы. Этот трафик имеет несколько периодов покоя, когда радиостанция может переключиться в режим ожидания с низким энергопотреблением. Поведение этого приложения при доступе к сети может привести к тому, что радио будет оставаться включенным в течение длительных периодов времени, что неэффективно расходует заряд батареи.
На рис. 2 показана оптимальная структура сетевого трафика. Приложение отправляет сетевые запросы пакетами, разделенными длительными периодами отсутствия трафика, во время которых радиостанция может переключиться в режим ожидания. На этой диаграмме показан тот же объем выполняемой работы, что и на рисунке 1, но запросы сдвинуты и сгруппированы, чтобы позволить радиостанции большую часть времени находиться в режиме ожидания.
Если сетевой трафик вашего приложения выглядит так, как показано на рисунке 2, значит, все в порядке! Поздравляем! Возможно, вы захотите повысить эффективность работы сети, воспользовавшись методами, описанными в разделе «Оптимизация общего использования сети» .
Если сетевой трафик вашего приложения больше похож на график на рис. 1, пришло время более пристально взглянуть на то, как ваше приложение получает доступ к сети. Вам следует начать с анализа того, какие типы сетевого трафика генерирует ваше приложение.
Анализ типов сетевого трафика
Когда вы смотрите на сетевой трафик, генерируемый вашим приложением, вам необходимо понять источник трафика, чтобы можно было соответствующим образом оптимизировать его. Частая сетевая активность, генерируемая вашим приложением, может быть совершенно приемлемой, если оно реагирует на действия пользователя, но совершенно неуместной, если ваше приложение не находится на переднем плане или если устройство находится в кармане или сумочке. В этом разделе обсуждается, как анализировать типы сетевого трафика, генерируемого вашим приложением, и предлагаются действия, которые можно предпринять для повышения производительности.
На предыдущем уроке вы пометили код своего приложения для различных типов трафика и использовали инструмент «Сетевой трафик» для сбора данных о вашем приложении и создания графика активности, как показано на рисунке 3.
Инструмент «Сетевой трафик» окрашивает трафик на основе тегов, созданных вами на предыдущем уроке. Цвета основаны на константах типа трафика, которые вы определили в коде приложения. Вернитесь к коду вашего приложения, чтобы подтвердить, какие константы представляют трафик, инициируемый пользователем, приложением или сервером.
В следующих разделах обсуждается, как просматривать типы сетевого трафика, и приводятся рекомендации по оптимизации трафика.
Анализируйте сетевой трафик, инициируемый пользователем.
Сетевая активность, инициированная пользователем, может быть эффективно сгруппирована, пока пользователь выполняет определенное действие с вашим приложением, или распределяться неравномерно, когда пользователь запрашивает дополнительную информацию, которую необходимо получить вашему приложению. Ваша цель при анализе сетевого трафика, инициируемого пользователем, — выявить закономерности частого использования сети с течением времени и попытаться создать или увеличить размер периодов, когда доступ к сети отсутствует.
Непредсказуемость запросов пользователей затрудняет оптимизацию такого типа использования сети в вашем приложении. Кроме того, пользователи ожидают быстрых ответов, когда они активно используют приложение, поэтому задержка с запросами на повышение эффективности может привести к ухудшению пользовательского опыта. В общем, вам следует отдавать приоритет быстрому реагированию пользователя над эффективным использованием сети, когда пользователь напрямую взаимодействует с вашим приложением.
Вот несколько подходов к оптимизации сетевого трафика, инициируемого пользователем:
- Предварительная выборка сетевых данных . Когда пользователь выполняет действие в вашем приложении, приложение предвидит, какие данные могут потребоваться для следующих действий пользователя, извлекает их массово за одно соединение и удерживает их до тех пор, пока пользователь не запросит их.
- Проверьте подключение или прослушайте изменения. Прежде чем выполнять обновление, проверьте подключение к сети или прослушайте изменения подключения.
- Уменьшите количество подключений . Используйте серверные API, которые позволяют загружать данные наборами.
Анализируйте сетевой трафик, инициируемый приложением.
Сетевая активность, инициируемая кодом вашего приложения, обычно представляет собой область, в которой вы можете существенно повлиять на эффективное использование пропускной способности сети. Анализируя сетевую активность вашего приложения, обратите внимание на периоды бездействия и определите, можно ли их увеличить. Если вы видите закономерности постоянного доступа к сети из вашего приложения, поищите способы распределить эти доступы, чтобы радиоустройство устройства могло переключаться в режим пониженного энергопотребления.
Вот несколько подходов к оптимизации сетевого трафика, инициируемого приложениями:
Пакетная обработка и планирование сетевых запросов . Откладывайте сетевые запросы вашего приложения, чтобы их можно было обрабатывать вместе и в то время, которое экономит время автономной работы.
Разрешить системе проверять наличие подключения . Избегайте расхода заряда батареи при запуске приложения только для проверки сетевого подключения, когда вы можете позволить системе выполнять проверку, пока ваше приложение находится в спящем режиме.
Анализируйте сетевой трафик, инициируемый сервером.
Сетевая активность, инициируемая серверами, взаимодействующими с вашим приложением, также обычно является областью, где вы можете существенно повлиять на эффективное использование пропускной способности сети. Анализируя сетевую активность подключений к серверу, найдите периоды бездействия и определите, можно ли их увеличить. Если вы видите закономерности постоянной сетевой активности серверов, поищите способы распределить эту активность, чтобы позволить радиомодулю устройства переключаться в режим пониженного энергопотребления.
Вот подход к оптимизации сетевого трафика, инициируемого сервером:
- Используйте FCM для обновлений сервера . Рассмотрите возможность использования службы Firebase Cloud Messaging для обновлений на стороне сервера вместо опроса.