0
ライン"新しいString()"はGC_CONCURRENT文を発生させますか?
strPuffer = new String(buffer, 0, bytes, Charset.forName("UTF-8"));
は
while (true) {
try {
// Read from the InputStream
bytes = mmInStream.read(buffer);
strPuffer = new String(buffer, 0, bytes, Charset.forName("UTF-8"));
curMsg.append(strPuffer);
int endIdx = curMsg.indexOf(end);
if (endIdx != -1) {
fullMessage = curMsg.substring(0, endIdx + end.length()-1);
curMsg.delete(0, endIdx + end.length());
// Send the obtained bytes to the UI Activity
mHandler.obtainMessage(BluetoothChat.MESSAGE_READ, bytes, -1, fullMessage)
.sendToTarget();}
} catch (IOException e) {
//
connectionLost();
break;
}
}
がどのように私はそれを防ぐことができます... GC_CONCURRENTの多くの原因は?
なぜ、あなたの問題は何ですか? –
ガベージコレクタが正常に動作していることを示す良い兆候ではありませんか? :) – waqaslam
もしあなたがGCメッセージに悪影響を与えているのであれば、ByteBufferとCharsetDecoderを使って、(新しい* String *(*)*)と同じことを 'new String(..)'とすることができます。 – Jens