我正在尝试缓存用于在Android屏幕上绘制的大位图。但现在我面临OutOfMemoryException,说位图分配超过VM预算。
我需要最小化位图的大小,但我无法降低分辨率。对于我的用例,我只需要保存位图的形状并在实际绘图时应用颜色,所以我使用ALPHA_8作为位图配置。
我想知道位图中是否存在1位像素(完全不透明或完全透明)配置,还是任何类似的节省内存的方法?
答案 0 :(得分:1)
将颜色深度从8位减少到1当然会有所帮助。但是,它并没有真正解决问题,只是推迟了它。这只意味着你以后会获得OOME ,但你仍然会得到它。
考虑将缓存从RAM迁移到磁盘,并且可选地在其上添加较小的基于RAM的缓存以提高性能。