TCPソケットを使用して、PCから電話にそれぞれ約10 Mbsのファイルを送信しています。電話側では、次のようなデータを受信しています。
Dim B As Byte() = New Byte(Socket.ReceiveBufferSize - 1) {}
Me.Args.SetBuffer(B, 0, Socket.ReceiveBufferSize)
Me.Socket.ReceiveAsync(Me.Args)
ReceiveBufferSize プロパティは 30000000 に設定されています。これが私の読み方です。
Dim R As Byte() = New Byte(Me.Args.BytesTransferred - 1) {}
Dim s As New MemoryStream(Me.Args.Buffer)
Me.Args.SetBuffer(0, 0)
s.Read(R, 0, ntpData.Length)
s.Dispose()
このプロセスには大量のメモリ (約 300Mbs) が必要なため、メモリ使用量の上限が 180Mbs の低価格デバイスではアプリを実行できません。.Dispose()
OjbectDisposed 例外がスローされるため、電話が何かを受信するたびにソケットを使用することはできません。どうすればメモリを解放できますか?