Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
JS
1 / 1 / 0
Регистрация: 25.11.2011
Сообщений: 27
#1

Ошибка при заргузке изображений - Программирование Android

10.06.2013, 23:34. Просмотров 602. Ответов 4
Метки нет (Все метки)

Если загружать не много изображений (штук 10), все работает нормально. А при загрузке больше 10, приложение завершает работу. В логах пишет OutOfMemoryError: bitmap size exceeds VM budget.
Загружаю с sdcard
Java
1
2
3
4
5
    public void setBitmap()
    {   
        for(int i=1;i<15;i++){
            GalImages[i-1] = BitmapFactory.decodeFile("mnt/sdcard/img/"+i+".png");
    }
А вывожу с помощью ViewPager
Java
1
2
3
4
5
6
7
    public Object instantiateItem(ViewGroup container, int position) {
      ImageView imageView = new ImageView(context);
      imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
      imageView.setImageBitmap(GalImages[position]) ;
      ((ViewPager) container).addView(imageView, 0);
      return imageView;
    }
Получается загружает сразу все изображения. Можно ли сделать так, чтобы загружались, например, по 2 изображения, т.е. приложение загрузилось, отображается первое изображение, перешли на второе изображение, подгрузились еще 2. Ну или как-нибудь по другому можно исправить эту ошибку?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2013, 23:34
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Ошибка при заргузке изображений (Программирование Android):

Ошибка при загрузки изображений с карты памяти при повороте экрана
Здравствуйте! Вопрос в следующем. Загружаю в активити фотки с камеры. Имя...

При загрузке изображений через Univeral Image Loader видно как они перерисовываются
я загружаю изображения из галереи в RecyclerView. Элемент RecyclerView есть...

Ошибка при запуске AsyncTask при нажатии на пункт ActionBar
Здравствуйте, почему при нажатии на пункт Action Bar'а вылетает ошибка? ...

Ошибка при просмотре изображений
Как можно это исправить?

Ошибка в коде при загрузке изображений
Доброй ночи. Не могу понять, где ошибка &lt;?php foreach ($_POST as...

Распознавание изображений - ошибка при обучении
Библиотека AFORGE.NET neuro Попытался сделать распознаватель изображений /...

4
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
10.06.2013, 23:45 #2
используйте адаптер.
0
Hank
63 / 54 / 4
Регистрация: 28.12.2011
Сообщений: 297
11.06.2013, 07:26 #3
Загружайте изображения из кэш памяти, это позволит избежать утечек памяти. Только перед тем как взять что-то из кэша, это нужно туда поместить. В кэш изображения записываются в отдельном потоке, а из кэша для отображения в программе берутся в потоке UI. Это позволятся избежать тормоза при открытии новой картинки. Вот здесь расписано как эффективно работать с изображениями http://developer.android.com/training/displaying-bitmaps/index.html.
1
JS
1 / 1 / 0
Регистрация: 25.11.2011
Сообщений: 27
11.06.2013, 09:39  [ТС] #4
Цитата Сообщение от V0v1k Посмотреть сообщение
используйте адаптер.
Так я его и использую! Код выше это класс ImageAdapter, а в OnCreate создаю объект данного класса
Java
1
2
3
        viewPager = (ViewPager) findViewById(R.id.view_pager);
        ImageAdapter adapter = new ImageAdapter(this);
        viewPager.setAdapter(adapter) ;
Hank, за ответ спасибо, но сомневаюсь что поможет, т.к. до 1 Мб грузит, а вот 10 не думаю что поможет)
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
11.06.2013, 12:07 #5
Java
1
2
3
4
5
6
7
public Object instantiateItem(ViewGroup container, int position) {
      ImageView imageView = new ImageView(context);
      imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
      imageView.setImageBitmap(BitmapFactory.decodeFile("mnt/sdcard/img/"+ (position + 1) +".png")) ;
      ((ViewPager) container).addView(imageView, 0);
      return imageView;
    }
1
11.06.2013, 12:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.06.2013, 12:07
Привет! Вот еще темы с решениями:

при открытии изображений выдается ошибка
Помогите решить проблему. При открытии изображений выдает ошибку

Ошибка при открытии изображений из любого архива
День добрый. Наличествует такая проблема: На компьютере установлена Windows 7...

Ошибка при обработке изображений: Index exceeds matrix dimensions
В универе для расчётнографической работы дали задание Так звучит задание:...

В GDI+ произошла ошибка общего вида при сохранении изображений из picturebox'a в файл
Опять не получается. Что посоветуете? Как все таки сделать сохранение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru