2016-07-13 22 views
2

Ich versuche einfach Audio-Player zu entwickeln, und ich fand die gleiche Funktion für SeekBar Moveing ​​dass Handler und Faden tun:Welchen soll ich Handler oder Thread verwenden?

protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     Start(); 
     update(); 
    } 

    private void update() { 
     sk.setProgress(mp.getCurrentPosition()); 

     //hand.postDelayed(MainActivity.this,100); 
     //new Thread(MainActivity.this).start(); 

    } 


    @Override 
    public void run() { 
     update(); 
    } 

Hinweis implementieren i Runnable zu MainActivity.

Antwort

1

Handler und Thread tun nicht das Gleiche.

Ein Handler verarbeitet einen Runnable, jetzt oder in naher Zukunft (wenn Sie postDelayed verwenden). Es tut dies auf dem Thread, auf dem es erstellt wurde.

Ein Thread ist eine separate Zeile der Ausführung - es ist eine Reihe von Anweisungen, die zur gleichen Zeit wie andere Threads passieren. Ein Thread ist, wie Sie zwei Dinge auf einem Computer zur gleichen Zeit passieren.

Während beide einen Runnable als Parameter verwenden, machen sie ganz andere Dinge. Welcher ist für dich geeignet? Wenn Sie im UI-Thread in Sekundenschnelle etwas ausführen möchten, z. B. beim Aktualisieren der Benutzeroberfläche, verwenden Sie einen Handler. Wenn Sie umfangreiche Hintergrundverarbeitungs- oder Netzwerkanforderungen ausführen möchten, verwenden Sie einen Thread.

+1

danke Gabe Sechan: D –

Verwandte Themen