【发布时间】:2014-12-13 14:49:07
【问题描述】:
我编写了一个图像合成应用程序,它应该可以在不同的图层上排列图像。所以我目前所做的是在画布上合并(一个接一个地绘制位图)。 用户应该能够随时移除任何层(也可以撤消)。
我的问题与内存管理有关:当将每一层都作为位图对象保存在内存中时,我担心 OutOfMemoryExceptions。但是合并是一个问题:一旦我合并了所有位图,就无法再次将它们分开(显然)。 我想知道saveLayer,看来你可以保存和恢复数据,但我不太明白它是否对我有帮助。
我曾考虑降低图层上图像的分辨率,但接下来的问题是“哪个分辨率合适?”弹出。毕竟分辨率取决于(动态)层数和可用系统内存。
有人对如何处理此要求提出建议吗?
【问题讨论】:
-
一次你只处理一个图像,所以在内存中只保留两个位图:当前的一个和第二个是所有其他位图的合并集,当然你需要重建每个您选择要使用的其他位图的时间
标签: android canvas bitmap layer