Расхождение в счетчике данных Android (сумма приложений <всего) - PullRequest
0 голосов
/ 12 октября 2018

Я пытаюсь понять причину несоответствия данных, которое я отмечаю только с несколькими приложениями.Как в музыке Tidal, так и в Apple, если я пропущу треки во время их прослушивания, я сразу получу расхождение данных от 10% до 15% между суммой использования данных всеми приложениями и общей громкостью для устройства.

Контрольный пример

Выполнено 36.03MiB через Tidal (пропуск дорожек) с включенным Data Saver, чтобы ограничить фоновые данные до минимума.

Счетчики использования данных Android (Настройки - Соединения - Использование данных)

Всего

 - Total                             36.03MiB

Приложения

 - Tidal                             31 MiB
 - Google Play Services              448.04 KiB
 - My Data Manager                   59.9 KiB
 - com.samsung.accessory.wmmanager   10.94 KiB
 - Google Play Store                 5.27 KiB
 - Android.OS                        5.13 KiB
 - Samsung Push Service              3.59 KiB
 -----------------------------------------------
 - Total of all Apps                 31.52 MiB

Отсутствующие данные

 - Total                             4.51 MiB

My Data Manager

Для того же теста данных, My Data Manager сообщает те же значения

 - Tidal                             30.8 MiB
 - etc

NetworkStatsManager

В моем приложении отслеживания я использую NetworkStatsManager.QuerySummaryForDevice для общего тома и создаю итоги приложения из NetworkStatsManager.QuerySummary с использованием идентификатора корзины для идентификатора пакета.Это было подтверждено на нескольких устройствах Oreo.

Из этого я получил:

QuerySummaryForDevice

 - Total                                        37777120 (36.027MiB)

QuerySummary

 - Tidal (com.aspiro.tidal)                     32511933 (31.005MiB)
 - Google Play Services (com.google.uid.shared) 459244 (448.48KiB)
 - My Data Manager (com.mobidia.android.mdm)    61333 (59.90KiB)
 - com.samsung.accessory.wmmanager              11196 (10.933KiB)
 - Google Play Store (com.android.vending)      5397 (5.271KiB)
 - Android.OS (com.uid.system)                  5246 (5.123KiB)
 - Samsung Push Service (com.sec.app.push)      3677 (3.591KiB)
 -------------------------------------------------------------------
 - Total of all Apps                            33058026 (31.527MiB)

Пропущенные данные

 - Total                                        4719094 (4.500MiB)

Итак, идентичные результаты дают или принимают крошечные расхождения во времени при взятии / просмотре показаний.

КакВ-четвертых, я извлек файлы / proc / net / xt_qtaguid / iface_stats_all и / proc / net / xt_qtaguid / stats до и после теста, и все цифры снова выстроились в несколько байт вышеописанных методов.

Цифры подсчета пакетов также следуют той же схеме с пропуском ~ 3000 между общим использованием данных и суммой приложений, поэтому я не думаю, что это может быть связано с тем, что заголовки пакетов не отслеживаются в счетчиках приложений.

Итак, мои вопросы:

  • Есть ли логическая причина для этих пропущенных данных, учитывая, что каждое другое приложение отслеживает правильно, оставляя незначительный разрыв между суммой приложений и общими данными?
  • Существуют ли какие-либо системные службы, которые не отслеживаются с помощью xt_qtaguid / stats или NetworkStatsManager, вызывающих это?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...