我想在我的动态壁纸中显示当前时间。 我正在使用 andengine gles2 anchor center 来开发它。 我所做的是
在场景中注册了一个更新处理程序,使用日历实例读取当前时间并显示它。但它会继续运行 GC。这是我的代码
mScene.registerUpdateHandler(new IUpdateHandler() {
@Override
public void onUpdate(float pSecondsElapsed) {
c = Calendar.getInstance();
yy = c.get(Calendar.YEAR);
mm = c.get(Calendar.MONTH);
dd = c.get(Calendar.DAY_OF_MONTH);
hh = c.get(Calendar.HOUR);
min = c.get(Calendar.MINUTE);
amOrpm = c.get(Calendar.AM_PM);
am_pm = "AM";
if (amOrpm == 1) {
am_pm = "PM";
} else {
am_pm = "AM";
}
displayString = hh + "\n" + min + "\n " + am_pm;
mText.setText(String.valueOf(displayString));
}
@Override
public void reset() {
}
});
我必须遵循什么方法来减少垃圾收集器的运行?
最佳答案
您可以使用 Time
目的。您可以创建单个 Time
实例并使用其 setToNow()
更新它-方法。然后,您可以从 year
、month
等字段访问 YEAR、MONTH 等(当您调用 setToNow()
方法时,它们会更新).
由于这不会在每次更新时创建相对繁重的 Calendar
的任何新实例,因此您将体验到更少的垃圾回收。
关于android - 使用 andengine 在动态壁纸中显示当前时间的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15636648/