Android щепотку увеличить большое изображение, эффективность памяти без потери деталей

Мое приложение должно отображать несколько изображений с высоким разрешением (около 1900 * 2200 пикселей), поддержка масштабирования. Чтобы избежать ошибки в памяти, я планирую декодировать изображение, чтобы показать полный экран, используя

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

(Мое представление, которое я использовал, – это TouchImageView extends ImageView )

Поэтому я могу быстро загружать изображение и прокручивать между экранами (изображениями). Однако, когда я увеличиваю масштаб, мое приложение теряет детали из-за масштабированного изображения. Если я загружаю полное изображение, я не могу быстро загрузить или плавно перетащить, перетащить после увеличения зума. Затем я пытаюсь загрузить только полное изображение, когда пользователь начнет масштабирование, но я все еще не могу перетащить плавное изображение из-за очень большого изображения. Галерея Android может сделать это идеально даже 8Mpx изображений.

Любой может мне помочь. заранее спасибо

Solutions Collecting From Web of "Android щепотку увеличить большое изображение, эффективность памяти без потери деталей"

Извините, что ответили на старый вопрос, но я только что закончил изображение, которое отображает изображение из активов или внешнего хранилища с подвыборкой, и загружает плиты с более высоким разрешением из изображения, когда вы щелкаете для увеличения. В качестве изображений высокого разрешения для областей Экрана не загружается, он должен избегать исключений из памяти.

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 = "<img src=\"my_image.png\">"; webView.loadDataWithBaseURL("file:///android_asset/", htmlData, "text/html", "utf-8", null); // Activate zooming webView.getSettings().setBuiltInZoomControls(true); 

Я признаю, что для такой задачи очень странно использовать WebView , это единственное решение, которое я нашел. По крайней мере, вы никогда не получите исключение OOM.