2015-08-13 3 views
0

Я написал приложение для Android для Android. Я использовал Picasso для загрузки, кеширования и отображения изображений с заданных URL-адресов.Загрузить изображение из URL в Picasso

В mainActivity У меня есть Gridview, изображения которого загружаются внутри него.

И в ActivityTwo у меня есть изображение, которое показывает выбранное изображение , но проблема в том, что загрузка изображения очень медленно (например, загрузка изображения 300 Кб за 10 секунд).

Как ускорить загрузку изображений?

Вот мои коды:

MainActivity.Java

общественного класса MainActivity расширяет активность {

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

     GridView gridview = (GridView) findViewById(R.id.gridview); 
     gridview.setAdapter(new ImageAdapter(this)); 

     gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
       Intent intent = new Intent(MainActivity.this, ActivityTwo.class); 
       intent.putExtra("position", position); 
       startActivity(intent); 
      } 
     }); 
    } 


    // our custom adapter 
    private class ImageAdapter extends BaseAdapter { 
     private Context mContext; 

     public ImageAdapter(Context context) { 
      mContext = context; 
     } 

     @Override 
     public int getCount() { 
      return mThumbIds.length; 
     } 

     @Override 
     public Object getItem(int position) { 
      return null; 
     } 

     @Override 
     public long getItemId(int position) { 
      return 0; 
     } 

     @Override 
     public View getView(int position, View convertView, 
          ViewGroup parent) { 
      ImageView imageView; 
//   check to see if we have a view 
      if (convertView == null) { 
//    no view - so create a new one 
       imageView = new ImageView(mContext); 
      } else { 
//    use the recycled view object 
       imageView = (ImageView) convertView; 
      } 

//   Picasso.with(MainActivity.this).setDebugging(true); 
      Picasso.with(MainActivity.this) 
        .load(mThumbIds[position]) 
        .placeholder(R.raw.place_holder) 
        .error(R.raw.big_problem) 
        .noFade().resize(250, 250) 
        .into(imageView); 

      return imageView; 
     } 
    } 

    static String[] mThumbIds = { 

      //My Links Here 
    }; 
} 
+0

«Как я могу сделать Изображения загружаются быстрее». Код в порядке. Если вы хотите быстрее, получите более быстрый сервер для обслуживания изображений или более быстрого подключения к Интернету для вас. – Budius

ответ

0

библиотека Try Glide. Он загружает изображения быстрее, чем библиотека Picasso. Для получения более подробной информации см это link. библиотеки включить

dependencies { compile 'com.github.bumptech.glide:glide:3.5.2' compile 'com.android.support:support-v4:22.0.0' }

Используйте это для загрузки изображений:

Glide.with(context) .load("http://inthecheesefactory.com/uploads/source/glidepicasso/cover.jpg") .into(ivImg);

Смежные вопросы