我有一个应用程序,允许用户绘制圆形,矩形,箭头和绘画的网格。所有这些都是在位图上绘制的,而位图又在我的主画布上绘制。我有这样的结构,因为用户可以缩放/平移主画布(通过主位图)以及移动/缩放/旋转每个绘制的对象。问题是所有这些位图都占用了我所有的记忆,所以我一直在努力寻找更好的解决方案。
LRUcache是不可能的,因为每次调用onDraw方法时我都需要所有的位图,这是每次绘制新内容时都需要的。
我见过Bitmap.getPixels()函数和Canvas.drawPoints();功能。有没有办法一起使用这些,所以我可以摆脱我的位图?我设想的是创建一个位图,在其上绘制对象,从该位图中提取像素,然后回收位图以释放该内存。那可行吗?