我想显示一个约50页的ViewPager,每页包含不同的图像.使用毕加索,前20-25页的工作完美.然而,在这一点上,我得到一个OutOfMemoryError,并且根本没有加载图像:
Throwing OutOfMemoryError "Failed to allocate a 7477932 byte allocation with 1932496 free bytes"@H_502_4@我在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); }@H_502_4@我可以做些什么来避免这种情况?
解决方法
我找到了
this issue.
@H_502_4@有几点指出:
@H_502_4@>使用skipMemoryCache()
>使用builder.executor(Executors.newSingleThreadExecutor());
>使用毕加索的一个实例:不要每次使用毕加索.Builder创建一个新的实例. @H_502_4@我设法解决了我最后一个问题.
>使用builder.executor(Executors.newSingleThreadExecutor());
>使用毕加索的一个实例:不要每次使用毕加索.Builder创建一个新的实例. @H_502_4@我设法解决了我最后一个问题.