, AsyncTask - . , , - , - . asyncTask . , , , . , , asyncTask . - :
public void onClick() {
if( searchTask != null ) {
searchTask.cancel();
}
searchTask = new SearchTask( MyActivity.this ).execute( textInput.getText() );
}
public class SearchTask extends AsyncTask<String,Integer,List<SearchResult>> {
private boolean canceled = false;
protected onPostExecute( List<SearchResult> results ) {
if( !canceled ) {
activity.handleResults( results );
}
}
public void cancel() {
canceled = true;
}
}
, onPostExecute() . cancel() , . , . GC. AsyncTask, . AsyncTask , , , , onPostExecute(). .
. , , , . , (, 10-50 max), , , (, 3). - , 3 . , .