java - 过多的触摸事件会降低 Android 应用程序的速度

标签 java android programming-languages

我正在编写一个需要接收触摸事件的 Android 游戏。我的问题是,每当用户在屏幕上拖动他们的手指时,太多的触摸事件会发送到触摸事件处理程序(我认为它作为一个单独的线程运行),以至于我的帧率直线下降!限制每秒处理的触摸事件数量的最佳方法是什么?

例如,如果我的游戏以 60 fps 的速度运行,我真的不需要每秒处理超过 1 个触摸事件。我可以这样做而不丢失任何信息(即有关用户最后触摸屏幕位置的重要信息)吗?

最佳答案

我猜这不是触摸事件,而是对它们的处理。确保您只处理您需要的事件类型(即向下或移动)并忽略其他事件。此外,您可能希望存储时间并在事件不比存储时间长 1 秒时提前返回。

public boolean onTouchEvent(MotionEvent event) {
    float x = event.getX();
    float y = event.getY();

    switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN:

关于java - 过多的触摸事件会降低 Android 应用程序的速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2345471/

相关文章:

android - 设置操作栏/选项卡中文本的格式

programming-languages - 为什么对冲基金和金融服务经常使用 OCaml?

java - Java 将走向何方?

java - Hibernate org.hibernate.MappingException : Could not determine type for: java. util.Set 中的复合键错误,

java - onbackpressed() 从 Activity 到特定 fragment

java - 如何从 C 调用 Java 函数

java - 如何避免 Eclipse 包装参数?

programming-languages - 我应该学习什么程序才能进行计算建模?

java - Intellij IDEA 将 junit 测试放入 jar 中

java - 表单提交后,下载文件