我的应用程序需要显示一些高分辨率的图像(大约 1900*2200 像素),支持双指缩放。为了避免内存不足错误,我计划使用
解码图像以显示全屏options.inSampleSize = scale (scale was calculated as Power of 2 as Document)
(我使用的 View 是TouchImageView
extends of ImageView
)
所以我可以快速加载图像并在屏幕(图像)之间平滑滑动。但是,当我捏缩放时,我的应用程序会因为缩放图像而丢失细节。 如果我加载完整图像,我无法快速加载或平滑滑动,捏缩放后拖动。 然后我尝试只在用户开始缩放时加载完整图像,但由于图像非常大,我仍然无法平滑地拖动图像。即使是 8Mpx 的图像,Android 画廊也能完美处理。
任何人都可以帮助我。提前致谢
最佳答案
很抱歉回答一个老问题,但我刚刚完成了一个 ImageView ,它显示了来自 Assets 或外部存储的带有子采样的图像,并在您捏合以放大时从图像加载更高分辨率的图 block 。作为高分辨率图像屏幕区域的数据未加载,应避免内存不足异常。
https://github.com/davemorrissey/subsampling-scale-image-view
关于Android双指缩放大图,高效内存不丢失细节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15175760/