在android中每秒更新textview时有延迟

在android中每秒更新textview时有延迟,android,textview,Android,Textview,我只想用倒计时从15到0更新我的文本视图,并使用下面的代码,但它不是每秒更新一次,每次更新大约需要3,4秒的延迟 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initGame(); CountDownTimer count


我只想用倒计时从15到0更新我的文本视图,并使用下面的代码,但它不是每秒更新一次,每次更新大约需要3,4秒的延迟

    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    initGame();

    CountDownTimer countDownTimer = new CountDownTimer(30000, 1000) {
        @Override
        public void onTick(long millisUntilFinished) {
            tv.setText("time left : " + millisUntilFinished / 1000);
        }

        @Override
        public void onFinish() {
            tv.setText("finished!");
        }
    }.start();

}
对于Instance,它会打印:
剩余时间:29
剩余时间:25
剩余时间:22
非常感谢您的帮助。

使用此库

每隔几秒钟自动更改其内容的textview


您不必编写额外的代码。

通常,如果在
onTick()
方法中执行操作所需的时间过长,您将跳过下一个操作。如果您在
onTick()
中所做的唯一工作是设置文本,则可能不是这样,因此您的UI线程可能非常繁忙。是否尝试分析它?Android studio->选项卡[Android监视器]->子选项卡[Monitors]->CPU图顶部的按钮是“开始方法跟踪”-应该与调试构建一起工作。从文档中可以看出,当上一个
onTick
已经完成时,
onTick
在所需的时间间隔内被调用,因此您的代码应该可以工作(您可以仅使用文本视图而不使用任何其他内容来尝试它,以查看它是否工作,但由于它看起来与官方示例相同,它可能工作正常)@GVillani82,除了textview我有16个图像视图。是不是耽搁了?这种方式会再次呈现ui吗?如果是,是否有方法部分呈现ui?我对android编程相当陌生@Ped7g感谢您的回复。在没有ImageView的情况下工作正常,但我也需要在中使用其他视图!我该如何实现这种情况呢?很显然,倒计时计时器没有问题,但是图像视图的高效显示有问题。很难说你们到底在做什么,为什么它慢,通常imageview会在第一次绘制时以目标分辨率缓存它的内容,所以只要你们不改变任何东西,它的速度应该和GPU的blitting纹理一样快。作为第一步,尝试探查器数据以查看单个方法是否有问题,或者您只是在做一些太复杂的事情,您必须找到一些巧妙的技巧。