Эти счетчики содержат количество байтов с момента последней перезагрузки. На некоторых телефонах эти счетчики могут периодически сбрасываться, но большую часть времени они сбрасываются только после перезагрузки. Переход в режим полета или переключение между мобильным и Wi-Fi не сбрасывает эти счетчики.
Одним из важных моментов является то, что эти счетчики не включают в себя служебные данные пакета, а только размер полезной нагрузки. Поэтому, как правило, это означает, что 3-4% данных могут быть пропущены. Однако, если это потоковое, торрентное или VoIP-приложение, в котором полезные нагрузки пакетов невелики, может быть гораздо больший объем неучтенных данных.
Интересно, что getTotalRxBytes (полученные байты по всем интерфейсам, за исключением мобильного устройства и Wi-Fi вместе) и getMobileRxBytes (полученные байты только по мобильному интерфейсу) включают все байты, включая служебные данные. Таким образом, в общем, общее количество байтов в вашем приложении будет меньше общего количества байтов интерфейса, и, следовательно, меньше, чем объем данных, за который выставляет счет ваш оператор сети.
И последнее: большинство потоковых приложений не учитывают свои данные под собственным UID. Они учитываются под UID системы .media. Поэтому, если вы отслеживаете использование данных для YouTube, в этом приложении будет отображаться только очень небольшой объем данных; остальное будет под UID носителя (1013).