30
将图像加载到位图对象时出现内存不足问题
我有一个列表视图,每行都有几个图像按钮。当您单击列表行时,它将启动一个新活动。由于相机布局存在问题,我不得不构建自己的标签。为结果而启动的活动是地图。如果单击我的按钮以启动图像预览(将图像从SD卡中加载),应用程序将从活动返回listview活动到结果处理程序,以重新启动我的新活动,无非就是图像小部件。 列表视图上的图像预览是使用光标和进行的ListAdapter。这非常简单,但是我不确定如何放置调整大小后的图像(即,较小的位大小而不是像素,而不是像像素src按钮那样动态显示。因此,我只是调整了从电话摄像头放出的图像的大小。 问题是,当它尝试返回并重新启动第二个活动时,出现内存不足错误。 有没有一种方法可以轻松地逐行构建列表适配器,从而可以即时调整大小(逐位)? 这将是更可取的,因为我也需要对每行中的小部件/元素的属性进行一些更改,因为由于焦点问题而无法使用触摸屏选择一行。(我可以用滚球。) 我知道我可以进行带外调整大小并保存图像,但这并不是我真正想做的,但是一些示例代码会很不错。 一旦禁用列表视图中的图像,它就会再次正常工作。 仅供参考:这就是我的做法: String[] from = new String[] { DBHelper.KEY_BUSINESSNAME,DBHelper.KEY_ADDRESS,DBHelper.KEY_CITY,DBHelper.KEY_GPSLONG,DBHelper.KEY_GPSLAT,DBHelper.KEY_IMAGEFILENAME + ""}; int[] to = new int[] {R.id.businessname,R.id.address,R.id.city,R.id.gpslong,R.id.gpslat,R.id.imagefilename }; notes = new SimpleCursorAdapter(this, R.layout.notes_row, c, from, to); setListAdapter(notes); 哪里R.id.imagefilename是ButtonImage。 这是我的LogCat: 01-25 05:05:49.877: ERROR/dalvikvm-heap(3896): 6291456-byte external allocation too large for this process. 01-25 05:05:49.877: ERROR/(3896): VM …