在其中一个原生应用程序中,我们需要加载包含建筑物体系结构的会议地图布局。图像分辨率为4648 * 3504(宽8 *高),文件大小为563KB。我把它放在“res / drawable-nodpi /”文件夹下,以免在多个设备屏幕密度上缩放图像。
我们将在普通视图中加载布局图像。然后,用户点击地图进行缩放,并详细查看布局区域。一旦达到最大缩放级别,我们将允许用户在会议厅中标记其当前位置。 (在地图中,我们将有展厅,用户可以通过点击地图标记其位置)。
为此,当我尝试加载图像时,它显示内存错误。因此,根据developer.android.com中的说明,我根据可用的屏幕宽度和高度缩放图像,图像加载没有任何问题。但是当我缩放图像时,由于将图像缩放到屏幕尺寸,因此缺少布局的清晰度。
有时在布局xml文件中直接加载大图像时,“Bitmap太大而无法上传到纹理中”。
是否有其他方法可以实现上述要求。如何在Imageview中加载高分辨率图像。图库如何处理高质量的大尺寸文件。
任何实现它的输入或方法都会对我有所帮助。
先谢谢,
斯里尼瓦桑
答案 0 :(得分:-1)
对于大图像尺寸,总会出现OutOfMemory错误
原因:
虚拟堆大小/设备的堆大小,每个设备都有不同的VHS,如:64 MB,128 MB,256 MB等
当您的图像加载到您的活动中时,将占用内存大小以访问图像,如果图像具有大规模,则它将超过堆大小限制。
应用程序将因OutOfMemory异常而崩溃
<强>解决方案:强>
将分辨率4648 * 3504降低到更小的尺寸(宽度*高度)并增加图像的dpi,以便进行缩放,并且运行正常。
android:largeHeap =“true”
通过这个android:largeHeap =“true”,heapsize将会翻倍。
通过此功能,您可以防止应用崩溃。