我创建了一个服务,它每 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
存储)。