1

我创建了一个服务,它每 10 秒(Thread.sleep)从在线文本文件(聊天)中读取新消息。当我查看设置时,内存使用量从 4.0MB 开始,这没问题,但每分钟后它会增加 0.1MB。这一直持续到达到 10Mb,然后再次从 4.0MB 开始。而且我的服务在 2/3 小时后完全终止并且再也没有启动过(但是有足够的内存,这段时间没有使用手机)。

public void MessageReader() throws Exception{
    Thread.sleep(10000);
    message  = "";
    try {
        final String textSource = "mytextfile.txt";
        URL textUrl;
        textUrl = new URL(textSource);
        BufferedReader bufferReader = new BufferedReader(new InputStreamReader(textUrl.openStream()));
        String StringBuffer;
        while ((StringBuffer = bufferReader.readLine()) != null) {
            servercommands += StringBuffer;
        }
        bufferReader.close();
    } catch (Exception e) {
        executer();
    }
    addmessages();
}
public void MessageReader() throws Exception{
    MessageReader();
}

MessagReader()在新线程中执行,addmessages()直到现在只返回MesssageReader()(没有String存储)。

4

0 回答 0