Android双指缩放大图,高效内存不丢失细节

标签 android imageview out-of-memory large-files pinchzoom

我的应用程序需要显示一些高分辨率的图像(大约 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/

相关文章:

java - 特定变量名称的 IntelliJ 代码风格

android - 如何在 android 中将 Web View 显示为 OverviewMode(完全缩小)?如何?

android - OnTouchListener 在 TranslationAnimation 期间不进行翻译

android - ImageView 显示奇怪的全彩框

android - 汽车动画旋转的轮子

php - apache httpd 耗尽内存直到挂起

android - GSON 映射键值对

java - Android 与数学解析器

grails - 用户通过Feed导入时内存不足错误

android - 具有许多图像的自定义 ListView 获取内存不足异常