-5

我正在编写游戏,当我尝试向服务器发送聊天消息时,我遇到了奇怪的内存泄漏。发送字符串:!chat¥Test 变成:

!chat¥test
!chat¥!chat¥test
!chat¥!chat¥!chat¥test
!chat¥!chat¥!chat¥!chat¥test
!chat¥!chat¥!chat¥!chat¥!chat¥test
!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥test
!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥test
!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥test
!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥test
!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥test
!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥test
Ect, ect.


Sending message:

Utils.sendChat(message.getText());

public static void sendChat(String s) {
    System.out.println(s);
    sendChat("!chat"+Wrapper.commandSplit+s);
}

public static void sendTextLine(String s){
    s = s.replace(" ", "[SPACE]");
    System.out.println(s);
    Wrapper.pw.write(s);
     Wrapper.pw.flush();
}

我不知道为什么会这样,有人可以帮助我吗?我使用'¥'来拆分字符串中的变量,并且之前没有给我任何问题,所以我怀疑它与它有什么关系。

谢谢。

4

1 回答 1

10
public static void sendChat(String s) {
    System.out.println(s);
    sendChat("!chat"+Wrapper.commandSplit+s);
}

这是一个无限循环,每次您sendChat再次调用时都会构建越来越长的字符串。

你可能是想打电话给sendTextLine那里的二线?

于 2012-11-05T21:46:14.603 回答