У меня есть активность в моем приложении для Android, как показано на рисунке ниже:
легенда:
- серый: фоновое изображение на весь экран;
- синий: 5 кругов разного размера;
- зеленый: произвольное изображение;
Я анимировал круги с помощью View Animation (http://developer.android.com/guide/topics/graphics/view-animation.html), чтобы одновременно показывать только один.
Но я получил исключение OutOfMemory на некоторых устройствах и эмуляторах, которые я использовал для тестирования.
Вместо этого я изменил свой макет, чтобы использовать 3 ImageView, один с одним изображением 3 внутренних кругов, а другие с 1 внешним кругом, каждый из которых использует один и тот же файл изображения, но с разными размерами, и я анимирую их, включая и отключая их свойство видимости . Таким образом, я использую только 2 изображения вместо 5.
При таком подходе я перестал получать исключение OutOfMemory, я думаю, потому что я загружаю и отображаю меньше изображений, чем раньше.
К вашему сведению, у меня в папках размещены изображения разных размеров:
- Drawable-hdpi
- drawable-ldpi
- drawable-mdpi
- Drawable-xhdpi
Память настолько ограничена? Кто-нибудь может предложить лучшее решение, чтобы я мог продолжать использовать свои 5 изображений кругов?
Приложение небольшое, поэтому нет смысла идти по пути использования OpenGL.
Спасибо!