android - 使用 andengine 在动态壁纸中显示当前时间的最佳方式是什么?

标签 android performance andengine

我想在我的动态壁纸中显示当前时间。 我正在使用 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() 更新它-方法。然后,您可以从 yearmonth 等字段访问 YEAR、MONTH 等(当您调用 setToNow() 方法时,它们会更新).

由于这不会在每次更新时创建相对繁重的 Calendar 的任何新实例,因此您将体验到更少的垃圾回收。

关于android - 使用 andengine 在动态壁纸中显示当前时间的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15636648/

相关文章:

performance - 无法在 Bamboo 中自动化 Jmeter 负载测试

performance - Grails 2.0 的性能真的那么低吗?

image - javafx加载时旋转圆

Android AndEngine RegisterUpdateHandler 可变时间

android - 使用 ADB shell 设置日期/时间

android - Cordova config.xml 首选项 android-installLocation

java - 在 Android 中的演示版和完整版之间共享保存游戏

java - Andengine Sprite 动态Zindex

android - 如何更新 ListView 中的单行?

android - 在android中创建表时出现语法错误