Good,
I have an activity that displays a set ViewPager
of images.
mPager = (ViewPager) findViewById(R.id.pagerHelp);
HelpImageAdapter adapterView = new HelpImageAdapter(this);
mPager.setAdapter(adapterView);
I use an adapter that extends from Pageradapter
for the ViewPager
.
public class HelpImageAdapter extends PagerAdapter{
private Context mContext;
private int[] sliderImagesId = new int[]{
R.drawable.help_images00, R.drawable.help_images01, R.drawable.help_images00,
R.drawable.help_images01, R.drawable.help_images00, R.drawable.help_images01,
};
public HelpImageAdapter(Context context) {
this.mContext = context;
}
@Override
public int getCount() {
return sliderImagesId.length;
}
@Override
public boolean isViewFromObject(View v, Object obj) {
return v == ((ImageView) obj);
}
@Override
public Object instantiateItem(ViewGroup container, int i) {
ImageView mImageView = new ImageView(mContext);
mImageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
mImageView.setImageResource(sliderImagesId[i]);
((ViewPager) container).addView(mImageView, 0);
return mImageView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
((ViewPager) container).removeView((ImageView) object);
}
}
So far everything is correct, the activity runs fine and I can change the image from one side to the other.
The problem is that the application has become very slow when adding images to the sliderImagesId parameter. Images weigh around 180kb
but in resource monitor my app uses 150MB y 200MB
memory. I think the problem is here.
I would like to know what I can do to make the image flow more fluid and take up less RAM.
Thank you very much in advance, I am learning a lot thanks to this community.
Fixed, thanks to @marlonpya.
I have used Glide , and now in addition to the application being smooth, it also uses 75% less ram memory.
To use the Glide you have to incorporate it in the dependencies.
Thank you all so much for giving me that little bit of your time.