Я пытаюсь понять причину несоответствия данных, которое я отмечаю только с несколькими приложениями.Как в музыке 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, вызывающих это?