0
die Linie"new String()" verursacht GC_CONCURRENT-Anweisungen?
strPuffer = new String(buffer, 0, bytes, Charset.forName("UTF-8"));
viel GC_CONCURRENT verursacht ...
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;
}
}
wie kann ich das verhindern?
warum, was ist dein Problem ?? –
ist es nicht ein gutes Zeichen, dass Ihr Müll Collector funktioniert gut? :) – waqaslam
Wenn Sie GC-Nachrichten ablehnen, können Sie immer einen ByteBuffer & CharsetDecoder verwenden, um dasselbe (in ein paar mehr * loc *) als 'new String (..)' zu machen. – Jens