2

で大量のデータ(画像ファイル)をPOSTで送る必要があるので、 withWebViewを使っています。NSMutableURLRequestsetHTTPBody:

問題: データ サイズが約 3MB を超えると、アプリが突然大量のメモリを消費し始め、すべてのページングで速度が低下します。

私はこれを変更しようとしました:

[request setHTTPBody:[NSData dataWithBytes:post.Get() length:post.Size()]];

..これに:

[request setHTTPBodyStream:[NSInputStream inputStreamWithData:
    [NSData dataWithBytes:post.Get() length:post.Size()]]];

..しかし、何も起こらないようで、リクエストがタイムアウトします。通常のコールバック ( などWebViewProgressEstimateChangedNotification) が得られず、データが設定されていないようです。

では、どうすれば (a)NSDataアプローチがメモリを大量に消費しないようにするか、(b) ストリーム アプローチを機能させることができるでしょうか (これが適切な回避策であると仮定して)。

4

1 に答える 1

0

を使用NSURLConnectionして手動でアップロードを行い、結果をWebView. おまけとして、この方法でアップロードの進行状況の更新が大幅に改善されます。

于 2010-06-25T23:19:43.013 に答える