2016-12-28 1 views
-2

Ich versuche GifTextView für meine Animation zu verwenden. Diese AsyncTask funktioniert tatsächlich, aber es dauert so lange, wenn ich GifTextView verwende. Wenn GifTextView aus diesem Code entfernt wird, funktioniert AsyncTask schnell.Aussetzen aller Threads bei Verwendung von GifTextView auf AsyncTask?

public class PDFCreate extends AsyncTask<String,String,String> { 
    @Override 
    protected String doInBackground(String... strings) { 
     String FILE = Environment.getExternalStorageDirectory().toString() 
       +"/TEST/PDF/"+Ex_date+".pdf"; 
     try { 
       Document document = new Document(PageSize.A4); 
       String root = Environment.getExternalStorageDirectory().toString(); 
       File myDir = new File(root + "/TEST/PDF"); 
       myDir.mkdirs(); 

        PdfWriter.getInstance(document, new FileOutputStream(FILE)); 

       document.open(); 
       addMetaData(document,"LEAKS"); 
       addTitlePage(document,Ex_title); 
       document.close(); 
     } catch (DocumentException e) { 
      FILE = "Error Create Document"; 
     } catch (FileNotFoundException e) { 
      FILE = "Cannot Create Document Path"; 
     } 
     return FILE; 
    } 

    @Override 
    protected void onPreExecute() { 
     super.onPreExecute(); 
     GifTextView git = (GifTextView) findViewById(R.id.loading_gift); 
     git.setVisibility(View.VISIBLE); 
    } 

    @Override 
    protected void onPostExecute(String st) { 
     super.onPostExecute(st); 
     git.setVisibility(View.GONE); 
     ViewDialog alert = new ViewDialog(); 
     alert.showDialog(detail.this,"File have been saved on : \n" + st); 
    } 
} 

Meine Frage ist, wie GifTextView zu verwenden, ohne mein Programm zu verlangsamen?

+0

Try contructor für AsyncTask Klasse zu verwenden und den Code eines Objekts intialization setzen und von PreExecute und doinbackground Methoden entfernen und versuchen Sie es erneut und lassen Sie mich wissen – EthicsDev

+0

clearify sich ein bisschen mehr. – Gattsu

+0

@EthicsDev können Sie mir ein Beispiel über Konstruktor geben? Eigentlich verwirre ich. Über was du sagst. Becouse GifTextView nur anzeigen. Arbeite nichts. – AKCode

Antwort

1

EthicsDev ok danke bro. Schließlich verwende ich Glide, um meine AsyncTask schneller zu machen. Entfernen GifTextView
mit

 ImageView imageView = (ImageView) findViewById(R.id.loading_gift); 
     GlideDrawableImageViewTarget imageViewTarget = new GlideDrawableImageViewTarget(imageView); 
     Glide.with(leaks_detail.this).load(R.drawable.loading).override(200,200) 
       .into(imageViewTarget); 
Verwandte Themen