C
CoffeeCode
Ambitioniertes Mitglied
- 2
Ich muss mich entscheiden ob ich einen Thread oder einen AsyncTask für die Verarbeitung von Bildern durch RenderScript nehme.
Wenn ein Bild geladen und dargestellt wird, wird es über RenderScript verarbeitet, dazu gehört eine Augendetektion und eine Faltung. Dies nimmt etwa 1-2 Sekunden in Anspruch (sehr rechenintensiv). So lange ist die UI gefrohren. Daher muss die Verarbeitung ausgelagert werden. Nach der Verarbeitung werden Extrahierte Daten in einer Datenbank gespeichert, so dass das Bild sofort angezeigt werden kann nur auf die Daten muss gewartet werden.
Ich würde es gerne so umsetzen das zu beginn dummy daten in die Datenbank eingetragen werden und nach der Berechnung die richtigen.
Was wäre zu empfehlen?
Nach kurzer Suche habe ich das gefunden:
Wenn ein Bild geladen und dargestellt wird, wird es über RenderScript verarbeitet, dazu gehört eine Augendetektion und eine Faltung. Dies nimmt etwa 1-2 Sekunden in Anspruch (sehr rechenintensiv). So lange ist die UI gefrohren. Daher muss die Verarbeitung ausgelagert werden. Nach der Verarbeitung werden Extrahierte Daten in einer Datenbank gespeichert, so dass das Bild sofort angezeigt werden kann nur auf die Daten muss gewartet werden.
Ich würde es gerne so umsetzen das zu beginn dummy daten in die Datenbank eingetragen werden und nach der Berechnung die richtigen.
Was wäre zu empfehlen?
Nach kurzer Suche habe ich das gefunden:
Thread
Long task in general
invoke by thread.start() method
triggered from any thread
runs on its own thread
manual thread management/code may become difficult to read
AsyncTask
small task having to communicate with main thread
invoke by excute() method
triggered from main thread
runs on worker thread
must be executed and created from the main Thread