2013-09-29 3 views
2

Я разрабатываю приложение типа AudioBook, оно должно иметь некоторые изображения и показывать текст, а текст будет выделен, когда «голос» начнет говорить и так далее.Поддержка большого количества изображений

Но моя проблема - это изображения, у меня около 21 изображений, каждое изображение представляет собой страницу: Мой первый подход состоял в том, чтобы использовать ViewPager для имитации перехода книги, но когда на 13-й странице приложение просто просто рухнет. С «OutOfMemoryError». Мой второй подход состоял в том, чтобы использовать FrameLayout для хранения фрагментов, но, как и в ViewPager, приложение разбилось на 14-й странице с той же ошибкой «OutOfMemoryError», изображения составляют около 300 кб - 500 кбайт МАКС.

Не знаю, почему это происходит, я использую метод 'FragmentTransaction для замены фрагмента. И с MediaPlayer для воспроизведения звука я использую «release» на каждом методе .

Большое спасибо!

ответ

1

Проблема в том, что вы неправильно обрабатываете изображения, и если они не масштабируются должным образом, вы получаете OutofMemory. Вместо того, чтобы пытаться заставить его работать на определенном устройстве, а затем он падает на другой, я рекомендую вам использовать: https://github.com/nostra13/Android-Universal-Image-Loader, который поможет предотвратить эту ошибку и очень прост в реализации.

+0

Я использую scaleType для fitXY на ImageView, это неверно? – NemesisDoom

+0

Нет, потому что, поскольку Android масштабирует изображения, вы в конечном итоге загружаете весь битмап в память, поэтому, если бы вы сделали это, вам нужно было собрать кучу вещей, давая ImageView растровое изображение определенного разрешения, но это очень проще просто использовать эту библиотеку. Используется раньше, очень проста в использовании и сохраняет вас в конце. –

+0

Я проверяю это! Большое спасибо человеку! – NemesisDoom

Смежные вопросы