Я использую Picasso для загрузки изображений с моего сервера и отображения их в ImageView.
Я наблюдаю некоторые отчеты о сбоях с телефона пользователя, где происходит исключение нехватки памяти, когда Пикассо пытается загрузить изображение в ImageView.
Трассировка стека, как показано ниже:
java.lang.OutOfMemoryError
at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:596)
at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:444)
at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:832)
at android.content.res.Resources.loadDrawable(Resources.java:2988)
at android.content.res.Resources.getDrawable(Resources.java:1558)
at android.widget.ImageView.resolveUri(ImageView.java:646)
at android.widget.ImageView.setImageResource(ImageView.java:375)
at com.squareup.picasso.PicassoDrawable.setPlaceholder(PicassoDrawable.java:62)
at com.squareup.picasso.RequestCreator.into(RequestCreator.java:520)
at com.squareup.picasso.RequestCreator.into(RequestCreator.java:462)
at com.mycompany.myAdapter.getView(MyAdapter.java:102)
at android.widget.AbsListView.obtainView(AbsListView.java:2608)
at android.widget.GridView.makeAndAddView(GridView.java:1346)
Код рядом с MyAdapter.java:102, как показано ниже:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
.....Some code .....
Picasso.with(mContext)
.load(url_to_server)
.placeholder(R.drawable.default_placeholder)
.into(holder.imageItem); // Line 102
.....Some code .....
return convertView;
}
Что-то не так с тем, как я использую эту библиотеку?
setPlaceholder
, что указывает на то, чтоR.drawable.default_placeholder
очень большое изображение? - person njzk2   schedule 23.07.2014ImageView
? если это так, попробуйте изменить его размер. использоватьPicasso.with(context).load(bitmapUrl).resize(width, height).centerInside().into(imageView)
- person chip   schedule 28.07.2014