使用大量RAM的计时器Java GUI时钟?
我用Java为桌面小部件制作了一个小时钟(小部件还包括许多其他功能)。我在TaskManager中检查了应用程序的RAM使用情况,以查看时钟使用了700+MB的RAM。我禁用了时钟,RAM使用量下降到大约60MB。以下是时钟代码:
final int timeRun = 0;
new Thread()
{
public void run()
{
while(timeRun == 0)
{
Calendar cal = new GregorianCalendar();
int hour = cal.get(Calendar.HOUR);
int min = cal.get(Calendar.MINUTE);
int sec = cal.get(Calendar.SECOND);
int AM_PM = cal.get(Calendar.AM_PM);
String day_night = "";
if (AM_PM == 1){
day_night = "PM";
}else{
day_night = "AM";
}
String time = hour + ":" + min + ":" + sec + " " + day_night;
Clock.setText(time);
}
}
}.start();
为什么要用这么多内存?我怎样才能修好它
# 1 楼答案
看看:
例如
SwingTimer
使用500
毫秒延迟的原因是为了确保我们保持同步,否则您的时钟可能会与UI的其余部分“不同步”,因为您错过了第二个边界。如果这对您不重要,您可以使用1000
毫秒延迟