XML フィード (ニュース付き) を解析し、解析されたデータ (テキストと画像の URL) をギャラリー ウィジェット内の WebView に読み込むアクティビティがあります。
このようなもの:
mimeType = "text/html";
encoding = "utf-8";
String html = "<img src=\""
+ newsImageUrl.get(position)
+ "\" style=\"max-width:200px; max-height:200px;\" align=\"left\""
+ "/>" + newsDescription.get(position);
data.loadDataWithBaseURL("", html, mimeType, encoding, "");
すべて正常に動作しますが、ニュース フィード内にこの BIG IMAGES がある場合があります。まあ、あなたが電話を回転させ始めない限り、彼らは何の問題も引き起こしません. そして、いくつかの向きを変更した後、幸せな Out Of Memory 例外が発生しました。
Android では、OOM は常に Bitmas の近くのどこかに隠れています。そのため、ほとんどの人は BitmapFactory を inSampleSize で使用するか、よりエキゾチックなものを使用します。おそらく、画像をダウンロードして再サンプリングし、SD カードからロードするだけです。しかし、今のところ私はそれを避けようとします。
とにかく、問題は - WebView にロードされているときに大きな画像をどうするかということです。サイズを変更する方法はありますか (視覚的にだけではありません)。WebView onOrientationChange によって占有されているメモリをクリアする方法はありますか (webview.freeMemory() は実際には役に立ちません)。