gpt4 book ai didi

android - 如何处理 Picasso OutOfMemoryError?

转载 作者:可可西里 更新时间:2023-11-01 18:44:51 26 4
gpt4 key购买 nike

我想显示一个包含约 50 页的 ViewPager,每页包含不同的图像。使用 Picasso,前 20-25 页完美无缺。然而,此时我得到一个 OutOfMemoryError,并且没有图像正在加载:

Throwing OutOfMemoryError "Failed to allocate a 7477932 byte allocation with 1932496 free bytes"

我在我的 PagerAdapter 中使用了以下代码:

@Override
public Object instantiateItem(final ViewGroup container, final int position) {
View view = getView();
Picasso picasso = getImageLoader(mContext);
picasso.load(getUrl(position)).fit().into((ImageView) view.findViewById(R.id.imageview));
container.addView(view);
return view;
}

@Override
public void destroyItem(final ViewGroup container, final int position, final Object object) {
container.removeView((View) object);
}

我该怎么做才能避免这种情况?

最佳答案

我找到了 this issue .

一些注意事项:

  • 使用skipMemoryCache()
  • 使用builder.executor(Executors.newSingleThreadExecutor());
  • 使用Picasso一个 实例:不要每次都使用Picasso.Builder 创建新实例。

我设法解决了最后一个问题。

关于android - 如何处理 Picasso OutOfMemoryError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23205048/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com