Для разрешения в микросекундах вы можете использовать gettimeofday()
. При этом используется «время настенных часов», которое продолжает увеличиваться, когда устройство спит, но может внезапно переключаться вперед или назад, если сеть обновляет часы устройства.
Вы также можете использовать clock_gettime(CLOCK_MONOTONIC)
. При этом используются монотонные часы, которые никогда не прыгают вперед или назад, но перестают считать, когда устройство спит.
Фактическое разрешение таймеров зависит от устройства.
Оба эти API-интерфейса POSIX, а не для Android.