4

UIWebviewにhtml文字列を表示すると、html文字列はサーバーから取得されます。

サーバーから取得したhtmlには、src属性でサイズの大きな画像が10枚あります。これらの画像の合計サイズは 4 MB を超えています。この html 文字列を UIWebview にロードすると、アプリケーションが画像をロードするのに 4 分かかることもあれば、クラッシュすることもあります。

<img src..>サムネイル画像を作成できる場所にタグを付ける解決策があれば知りたいです。

どんな反応でも大歓迎です。

ありがとう

4

3 に答える 3

1

サーバー側で java/html5 を介して、クライアントがどのブラウザーで、どのような機能があるかを確認できるはずです。そうすることで、サーバーはクライアントに送信する適切な画像サイズを決定できます。

私の会社は、ラップトップのブラウザーが大きな画像を受け取るのとは対照的に、iPhone および Android クライアントがサイズの小さい画像を取得することで、これをうまく実装しました。

幸運を!

于 2012-05-04T11:30:04.147 に答える
0

割り当てられたメモリの大きなチャンクは、実行中の単一のアプリケーションに与えられた 46MB をオーバーラップしていなくても、(保護によって) システム負荷が高い場合にスプリングボードから sigkill 9 をトリガーする可能性があります。

  1. これを行う最善の方法は、一度に 1 つのイメージをロードすることです。
  2. 個々のイメージごとに、小さいバージョンを作成します。
  3. 小さいバージョンがあるため、現在ロードされている大きなイメージをリリースします。
  4. 次のためにもう一度やり直してください。

大きな負荷の影響を軽減します。

Nimbus Frameworkは、画像のダウンロードとサイズ変更を行っています。見てください。

UIWebview については、何ができるかわかりません。表示する前に HTML を取得するので、おそらく<img>タグを grep してそれらのサムネイルを作成し、それらを iPhone に保存してsrc、元のタグのパスを<img>親指のローカル URL に置き換えることができます。

于 2012-05-03T21:03:42.040 に答える
-2

おそらく、使用しているデバイスは、UIWebViewで解凍したときに4MBの画像をサポートできません。

どのデバイスを使用していますか?

4つの画像をロードするのに4分かかるのは非常に長い時間です。あなたのネットワークは非常に悪いですか?そうでなければ、それは間違ったアプローチの別の指標である可能性があります。

あなたである私は、ネイティブを使用して画像を表示し、おそらくASIHTTPUIImageViewを使用して、ある種のキューに入れられたダウンロードを実行しようとします。

そのため、必要なときに画像をロードおよびアンロードし、常にメモリに保持することができます。

UIWevView Jojasが指摘しているように、DOM要素をレンダリングするためにメモリを消費するので、答えは正しいと思います。

于 2012-04-27T17:02:59.297 に答える