Android从本地可绘制的nodpi和zoom加载更高分辨率的图像

Android从本地可绘制的nodpi和zoom加载更高分辨率的图像,android,imageview,bitmapimage,bitmapfactory,Android,Imageview,Bitmapimage,Bitmapfactory,在一个本机应用程序中,我们需要加载包含建筑体系结构的会议地图布局。图像分辨率为4648*3504(宽8*高),文件大小为563KB。我把它放在“res/drawable nodpi/”文件夹下,以避免在多个设备屏幕密度上缩放图像 我们将在普通视图中加载布局图像。然后用户单击地图以缩放地图并查看详细的布局区域。一旦达到最大缩放级别,我们将允许用户在会议大厅中标记其当前位置。(在地图中,我们将有展厅,用户可以通过单击地图来标记其位置) 因此,当我尝试加载图像时,它显示内存不足错误。因此,根据deve

在一个本机应用程序中,我们需要加载包含建筑体系结构的会议地图布局。图像分辨率为4648*3504(宽8*高),文件大小为563KB。我把它放在“res/drawable nodpi/”文件夹下,以避免在多个设备屏幕密度上缩放图像

我们将在普通视图中加载布局图像。然后用户单击地图以缩放地图并查看详细的布局区域。一旦达到最大缩放级别,我们将允许用户在会议大厅中标记其当前位置。(在地图中,我们将有展厅,用户可以通过单击地图来标记其位置)

因此,当我尝试加载图像时,它显示内存不足错误。因此,根据developer.android.com中的说明,我根据可用的屏幕宽度和高度缩放了图像,图像加载没有任何问题。但是当我缩放图像时,由于将图像缩放到屏幕大小,布局的清晰度会丢失

有时,当直接在布局xml文件中加载大图像时,我会得到“位图太大,无法上传到纹理”

是否有任何替代方法来实现上述要求。如何在Imageview中加载高分辨率图像。image gallery如何处理高质量的大文件

任何输入或实现它的方法,都将在很大程度上帮助我

提前感谢,


Srinivasan

对于较大的图像大小,OutOfMemory错误总是发生

原因:

虚拟堆大小/设备的堆大小,每个设备具有不同的VHS,如:64 MB、128 MB、256 MB等

当你的映像加载到你的活动中时,访问映像将占用内存大小,如果映像具有较大的规模,它将超过堆大小限制

由于OutOfMemory异常,应用程序将崩溃

解决方案:

  • 将分辨率4648*3504减小到较小的大小(宽度*高度),并增加图像的dpi,以便进行缩放,这样图像将运行良好

  • manifest.xml中的android:largeHeap=“true”

  • 通过这个android:largeHeap=“true”heapsize将加倍

    通过此操作,您可以避免应用程序崩溃