Android捏缩放大图像,内存高效而不丢细节

我的应用程序必须显示许多高分辨率图像(约1900 * 2200像素),支持捏缩放。 为避免内存不足错误,我计划使用解码图像以显示全屏

options.inSampleSize = scale (scale was calculated as Power of 2 as Document) 

(我使用的视图是ImageView TouchImageView扩展)

所以我可以快速加载图像并在屏幕(图像)之间平滑滑动。 但是,当我捏​​缩放时,我的应用程序因缩放图像而丢失细节。 如果我加载完整的图像,我无法加载快速或平滑滑动,捏缩放后拖动。 然后我尝试仅在用户开始捏缩放时加载完整图像,但由于图像非常大,我仍然无法平滑地拖动图像。 Android画廊甚至可以完美地实现8Mpx图像。

任何人都可以帮助我。 提前致谢

    很抱歉回答一个旧问题,但我刚刚完成了一个图像视图,它显示了来自资产或外部存储的图像以及子采样,并在您捏放大时从图像中加载更高分辨率的图块。作为区域的高分辨率图像数据屏幕未加载,应避免内存不足exception。

    https://github.com/davemorrissey/subsampling-scale-image-view

    我知道很久以前就问了这个问题,但这个答案可能会帮助其他人挣扎。 我有完全相同的问题。 您应该考虑使用WebView并使用它加载图像,即使它是本地图像。 例如,要在资产中加载图像,请使用以下命令:

     // Get a WebView you have defined in your XML layout WebView webView = (WebView) findViewById(R.id.webView1); // Fetch the picture in your folders using HTML String htmlData = ""; webView.loadDataWithBaseURL("file:///android_asset/", htmlData, "text/html", "utf-8", null); // Activate zooming webView.getSettings().setBuiltInZoomControls(true); 

    我承认使用WebView执行此类任务非常奇怪,这是我find的唯一解决方案。 至少你永远不会得到OOM例外。