パケット受信時のガベージ コレクションによる小さなラグを改善することで、パフォーマンスを向上させたいと考えています。DatagramSocket
私は次のようにデータを受け取る単純なものを持っています:
DatagramSocket sock;
try {
sock = new DatagramSocket(port);
sock.setReuseAddress(true);
} catch (SocketException e) { }
DatagramPacket pack = null;
byte[] buff = new byte[SIZE];
while(!sock.isClosed()){
try{
pack = new DatagramPacket(buff, buff.length());
sock.receive(pack);
} catch (IOException e) { }
}
上記のコードは、ガベージを収集するための多くの呼び出しが発生することを除けば (LogCat ビューアーで確認できるように) うまく機能します。ガベージ コレクションを回避するために、メモリを割り当てないようにしたいことはわかっていますが、上記のコードでそれを実行し、同じ結果を得る良い方法を知っている人はいますか?
このスレッドとこのスレッドを見ましたが、それらが私の特定の状況にどのように対応するかわかりません。GC を呼び出すというこの提案も見ましたが、この場合、GC はその間に何度も実行されています。
どんな提案でも大歓迎です!