recisa de ajuda para baixar imagens de fundo no Androi

Tenho uma visualização de imagem, eu escrevi deslizando, na época em que deslizava, as imagens são baixadas da Internet, então pensei em fazer o download das imagens em segundo plano antes de deslizá-las, para o que preciso usar asynctask ou Service ou IntentService, tudo isso ajudará no download e armazenamento de dados / dados / mypackages, mas ainda assim o swiping fica lento no meu caso, qualquer ideia, também me indica qual é o melhor, se estou ligando da maneira certa

1. asynctask

2. Serviço

3. Intenção de Serviço como mostrado abaixo

eu estou confuso qual é o método certo, porque ainda o meu problema não foi resolvido

Aqui está o snippet de amostra de código asynctask

public class Demo extends Activity {

  @Override

  public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

       new FirstTask().execute(); // calling Asynctask here

  }

}

ódigo da tarefa Async

private class FirstTask extends AsyncTask<Void, Void, Void> {
        private final ProgressDialog dialog = new ProgressDialog(Catalogue.this);
        int temp = 0;

        // can use UI thread here
        protected void onPreExecute() {
            this.dialog.setMessage("Loading...");
            this.dialog.setCancelable(false);
            //this.dialog.show();
            System.gc();
            Toast.makeText(Catalogue.this, "My Async  Created",
                    Toast.LENGTH_LONG).show();
        }

        @Override
        protected Void doInBackground(Void... params) {
            Looper.prepare();  
            try {

                myddownloadmethod();// calling my download method

            } catch (Exception e) {
                Util.trace("Error in Async"+e.getMessage());

            }
              Looper.loop();

            return null;
        }

        protected void onPostExecute(Void result) {

            if (this.dialog.isShowing()) {
                Toast.makeText(Catalogue.this, "My Async destroyed",
                        Toast.LENGTH_LONG).show();
                Toast.makeText(Catalogue.this, "count" + temp,
                        Toast.LENGTH_LONG).show();
                this.dialog.dismiss();
            }
        }
    }

Aqui está o meu serviço sinppet

public class MyService extends Service implements Runnable

{      @Override

        public void onCreate() {

                super.onCreate();

                Thread mythread = new Thread(this);

                mythread.start();

        }



        public void run() {

                Looper.prepare();  

                try {

                        myddownloadmethod();// calling my download method

                } catch (Exception e1) {

                        // TODO Auto-generated catch block

                        e1.printStackTrace();

                }

                Looper.loop();

        }



        @Override
        public IBinder onBind(Intent intent) {

                // TODO Auto-generated method stub

                return null;

        }



}



Invoking Service  

public class ServicesDemo extends Activity {    

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

      startService(new Intent(this, MyService.class));


  }

}

Aqui está o código IntentService

public class Downloader extends IntentService {

    public Downloader() {
        super("Downloader");
    }

    @Override
    public void onCreate() {
        super.onCreate();


    }

    @Override
    public void onDestroy() {
        super.onDestroy();

            }

    @Override   
    public void onHandleIntent(Intent i) {

        try {
             myddownloadmethod();// calling my download method
        } catch (Exception e1) {
            // TODO Auto-generated catch block
            Log.d("Error",e1.getMessage());
        }

    }
}

Calling IntentService de MyActivity

public class ServicesDemo extends Activity {    
      @Override
      public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Intent i1=new Intent(this, Downloader.class);
        startService(i1);



      }

    }

questionAnswers(5)

yourAnswerToTheQuestion