У меня есть некоторые изображения, которые я загрузил из удаленного источника, хранящегося в переменных Bitmap, и я хочу их отобразить. В дополнение к переключению между этими изображениями пользователь также должен иметь возможность масштабировать и панорамировать их. Моя первая идея состояла в том, чтобы каким-то образом передать их с помощью намерения встроенного приложения галереи, но это не представляется возможным. Решение, предлагаемое в нескольких местах, использует WebView, поскольку оно уже поддерживает масштабирование и панорамирование. Мой вопрос: как мои данные Bitmap попадают в WebView? Должен ли я сначала записать его в файл, который мне придется удалить позже, или есть более простой способ?Android: Самый простой способ сделать WebView отображением растрового изображения?
Или есть еще лучшие способы достижения моей главной цели, которая отображает данные битмапа в качестве масштабируемых и панорамных изображений?
Причина, по которой я хочу передать данные Bitmap, которые я уже загрузил, заключается в том, что таким образом мое приложение может кэшировать изображение (в моем случае в базе данных), поэтому его нужно будет загружать только один раз. –
Насколько я знаю, веб-просмотр уже имеет функцию кеширования. Вы можете переопределить его поведение, указав его режим кэширования. myWebView.getSettings(). SetCacheMode (режим); Вы можете ссылаться на эту ссылку. http://developer.android.com/intl/de/reference/android/webkit/WebSettings.html Вы можете использовать «LOAD_CACHE_ELSE_NETWORK» в качестве режима, в котором он использует кеш, если контент существует, даже если истек, загрузка из сети. Другой способ - вручную управлять масштабированием, панорамированием и кешированием самостоятельно, не используя webview. Вы можете посмотреть код ViewImage.java в пакете камеры исходного кода Android. – capecrawler