Android onTouchListener在几行代码中响应缓慢

Android onTouchListener在几行代码中响应缓慢,android,imageview,ontouchlistener,Android,Imageview,Ontouchlistener,我还没有找到一个与我的问题相关的答案。我在TouchListener上有以下 findViewById(R.id.imageView).setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN) {

我还没有找到一个与我的问题相关的答案。我在TouchListener上有以下

findViewById(R.id.imageView).setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        if (event.getAction() == MotionEvent.ACTION_DOWN) {
            text.setText("" + count);
            count++;
        }
        return false;
    }
});

活动上没有其他内容,但当我单击可以看到的ImageView时,该文本不会立即更改。延迟一段时间(100ms)后会发生变化。当我快速点击时,数字不会增加1,但有时会增加3或4。如何才能获得更快的响应?

我找到了根本原因。这是因为ImageView已在XML中定义

android:src=“@drawable/a”

“a”是PNG图像(20,9KB…1579x1945)作为背景。当我删除XML中的这一行时,速度会快得多


解决方案是更好地准备图像或类似的东西。

我认为它与侦听器有关,属于类型
OnTouch
,只是一个猜测,可能是因为它有更多的事件,向下、向上、拖动。。。因此,您可以尝试使用
OnClickListener
…setOnClickListener(新onClic…()
?这有什么区别吗?请尝试更新我们感谢您的响应。我尝试单击Listener,得到相同的结果。我还注意到,当我非常快地点击并停止时,该值还会再增加一秒钟。它似乎保存在一些缓冲区中。我正在使用三星A5 2017进行测试。是的,我认为事件排队是因为它们都在主线程(UI线程)上执行然后它们一个接一个地依次执行,问题是,你的代码非常简单,除非手机在后台运行导致这种延迟的其他东西?或者这可能是完全正常的,我的意思是你可能达到了点击速度的上限?可能是其他人可以帮到这一点。我的手机已经使用了一周了,而且很正常st没有应用程序。我设置在“保持”事件中更改文本,当我按住手指时,看到文本快速更改1->2->3和滞后(100-200ms),然后再增加几个数字和滞后。滞后是不规则的,几乎是随机的。仅供参考:我创建了空白活动,将android:主题更改为“.NoTitleBar.Fullscreen”,MainActivity更改为“扩展活动”,仅此而已