SeekBar is jerky during playback
<p>Basically i'm using seek bar to show to user how audio playback is going, my visual update is presented in <code>Thread</code> and looks like this :</p>

<pre><code>@Override
public void run() {
    while(mUpdating) {
        if(mSeekBar != null) {
            mSeekBar.setProgress(mAudioPlaybackManager.getCurrentPosition());
        }
        //Other stuff is updating
    }
}
</code></pre>

<p>So, for exqample if user plays audio that's 2500 ms in length, this <code>SeekBar</code> max value will be 2500 and it will be updating every ms</p>

<p><em>This same code working much slower in <code>runOnUiThread</code>, so i'm guessing when progress is changed something like <code>postInvalidate</code> is called</em></p>

<p>So basically every ms, the seekbar value should be changed. I guess that's the problem here. On my device <code>Samsung J7</code> it's working smoothly but on <code>Samsung Galaxy S5</code> it's just stopping and jumping all the time, like if i put this code in <code>runOnUIThread</code>, it would be really slow.</p>

<p>What could i do to make it smoother? Is there another <code>View</code> that i can use for this pirpose?</p>

<p>The things that current <code>SeekBar</code> is doing:</p>

<ul>
<li><p>Showing progress of audio basically in <code>while(updating)</code></p></li>
<li><p>When user changes the position of <code>SeekBar</code> audio is starting from that point.</p></li>
</ul>