Good evening,
In creating my first real personal project I have 5 fragments each containing a TabLayout with 2/3 fragments. Each has a GridView about 50 images (see 200 for some). But when I switch between Fragments I quickly reaches a OutMemory. I am in the phase of creating / testing and I use 8 Drawable present in the application (400px * 250px size, size: between 40kB and 200kB ).
The cons, the memory space used when using, the first pick is the launch dice (8 images) and each subsequent pick represents the opening of a fragment containing a TabLayout. Up to 30 sec or I return to the first fragment.
Creating TabLayout in Fragments :
private void setupViewPager(ViewPager viewPager) {
        ViewPagerAdapter adapter = new ViewPagerAdapter(getActivity().getSupportFragmentManager());
 
        FragmentList fla = FragmentList.newInstance("ONE", ContextCompat.getColor(getContext(), R.color.w_blue_grey_40));
        adapter.addFragment(fla, "ONE");
        fla = FragmentList.newInstance("TWO", ContextCompat.getColor(getContext(), R.color.w_blue_grey_40));
        adapter.addFragment(fla, "TWO");
 
        viewPager.setAdapter(adapter);
    }
 
    class ViewPagerAdapter extends <strong>FragmentStatePagerAdapter</strong> {
 
        private final List<FragmentList> mFragmentList = new ArrayList<>();
        private final List<String> mFragmentTitleList = new ArrayList<>();
 
        public ViewPagerAdapter(FragmentManager manager) {
            super(manager);
        }
 
        @Override
        public Fragment getItem(int position) {
            return mFragmentList.get(position);
        }
 
        @Override
        public int getCount() {
            return mFragmentList.size();
        }
 
        public void addFragment(FragmentList fragment, String title) {
            mFragmentList.add(fragment);
            mFragmentTitleList.add(title);
        }
 
        @Override
        public CharSequence getPageTitle(int position) {
            return mFragmentTitleList.get(position);
        }
    }I use Picasso et Pattern Holder in my GridViewAdapter :
@Override
public View getView(int position, View convertView, ViewGroup parent) {
        View row = convertView;
 
        TestHolder holder = null;
 
        if (row == null) {
            LayoutInflater mInflater = (LayoutInflater)
                    context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
            row = mInflater.inflate(R.layout.card_test, null);
 
            holder = new TestHolder();
            holder.test_image = (ImageView) row.findViewById(R.id.test_image);
            row.setTag(holder);
        } else {
            holder = (TestHolder) row.getTag();
        }
 
        Test test = data.get(position);
           Picasso.with(context).load(test.getImage()).into(holder.test_image);
         
        return row;
    }
 
    class TestHolder {
        ImageView test_image;
    }Thx all for your answers.

 
    