【发布时间】:2014-11-24 20:12:51
【问题描述】:
我知道我的位图/画布太大并且抛出 java.lang.OutOfMemoryError 的已知问题。 我的问题是什么最适合我的需求。 画布应该绘制一个图形(具有给定点)并且可以非常宽(例如 3000 像素或更多,理论上它的宽度可能更大,例如 20000 像素)。高度是固定的。 因为这对于任何屏幕来说都太宽了,所以我将它放在 Scrollview 中并将整个图形绘制到画布中。 所以这对于位图来说太宽了,我得到了错误。 第二种可能性是固定大小的画布,我将在其中编写一个“onScroll”方法,根据用户的滑动重绘图形。所以它只会绘制图表的一部分。 那会是更好的方法还是有办法使第一个选项起作用? 无论如何,请给我一些提示和解决方案的示例代码。
代码如下:
Bitmap bitmap = Bitmap.createBitmap(speedCanvasWidth,speedCanvasHeight,Bitmap.Config.RGB_565); //I also tried ARGB_8888
speedCanvas = new Canvas(bitmap);
graph.setImageBitmap(bitmap);
提前致谢
【问题讨论】:
标签: java android canvas bitmap out-of-memory