我正在用 java swing 开发一个涂鸦类型的应用程序。它处于初级阶段,并在此处显示。
我已经实现了撤消最后绘制的笔划的撤消功能。撤消功能可以达到最大定义的撤消级别。
撤消功能通过在Image array
. 这个数组就像一个First-In-Last-Out
堆栈。单击撤消时,堆栈是poped
并且获得的图像被绘制在屏幕上。
现在我面临的问题是,当前执行撤消的方法占用了太多内存。在撤消级别为 20 时,几乎 70-80 MB 的内存被用完,在级别为 30 时,会发生堆溢出。
有没有更好的方法来实现撤消功能?谢谢。
编辑:我在这里找到了一些有用的信息,可能会有所帮助。