Как заставить NinePatchDrawable выпустить байты BitMap, которые он разбирает из "res"?
Как разработчик Android, я испытываю давление, чтобы контролировать использование памяти в моих играх.
Я работаю для управления использованием памяти, освобождая ресурсы как можно быстрее, после того как они больше не используются. Для этого я поддерживаю список всех загруженных ресурсов и очищаю/освобождаю их из памяти, как только я с ними сделаю.
В моем приложении используется несколько различных типов графических ресурсов
- BitMap
- BitMapDrawable
- Drawable
- NinePatchDrawable
Как снять эти объекты прямо сейчас?
- BitMap: я использую метод "recycle()"
- BitMapDrawable: я использую метод getBitMap(). recycle()
- Drawable: я установил их в null (не работает)
- NinePatchDrawable: я установил их в null (не работает)
Что вы пробовали?
- Вы не можете "getBitmap()" сделать NinePatchDrawable
- Вы не можете преобразовать NinePatchDrawable в BitMapDrawable (даже если они оба являются битами на основе Bitmap)
- Кажется, есть способ самостоятельно проанализировать PNG, самостоятельно загружая байты в NinePathDrawable - это может привести меня к точке, где я могу просто "переработать" базовый BitMap, но это похоже на то, m изобретать колесо (http://code.google.com/p/android/issues/detail?id=13542)
Мои текущие правила:
- Никогда не используйте @drawable/in XML
- Никогда не андроид: фон в XML
- Никогда не андроид: src в XML