質問

投稿して大量のデータ(画像ファイル)を送信する必要があります WebView, 、だから私は使用しています 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)ストリームアプローチを機能させる(それが良い回避策であると仮定して)?

役に立ちましたか?

解決

私はそれを使用してそれを解決することになりました NSURLConnection 手動でアップロードしてから、結果を WebView. 。ボーナスとして、この方法で進行状況の更新をはるかにアップロードする方がはるかに優れています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top