У меня есть фрагмент с сеткой. Я помещаю 70 изображений в сетку view.but, когда я запускаю приложение, оно выходит из памяти. Как решить его? конвертировать все изображения в растровые изображения? это мой фрагмент класс:png загрузка выйдет из памяти android
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_games, container, false);
mDrawerList = (GridView) rootView.findViewById(R.id.list_slidermenu);
icons=new int[50];
for(int i=1 ;i<icons.length ;i++)
{
icon_id="@drawable/data_" + i;
icons[i]=getResources().getIdentifier(icon_id, null, MainActivity.PACKAGE_NAME);
Log.e("log",""+icons[i]);
}
navDrawerItems = new ArrayList<NavDrawerItem>();
for(int i=0 ;i<icons.length ;i++)
{
navDrawerItems.add(new NavDrawerItem(icons[i]));
}
adapter = new NavDrawerListAdapter(getActivity(),
navDrawerItems);
mDrawerList.setAdapter(adapter);
return rootView;
}
и это мой адаптер класс:
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater mInflater = (LayoutInflater)
context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
convertView = mInflater.inflate(R.layout.itemlist, null);
}
ImageView imgIcon = (ImageView) convertView.findViewById(R.id.icon);
imgIcon.setImageResource(navDrawerItems.get(position).getIcon());
// displaying count
// check whether it set visible or not
return convertView;
}
каждое изображение составляет 200 * 200 пикселей и имеет значение 6kb. У вас есть файл png. Так вы говорите, что конвертируете все доступные файлы в растровое изображение в качестве ссылки, а затем устанавливаете изображение? – rowwwss
где вы сохраняете эти картинки? в SD-карте? В любом случае вам не нужно преобразовывать их в растровые изображения. Просто загрузите их как растровое изображение. –
Место не имеет значения, вы можете загрузить png как растровое изображение. Затем установите его в изображение. –