Android Wear 的 onTouchListener 响应缓慢
Slow response of onTouchListener for Android Wear
我需要在 Android Wear 的任何视图上对 onTouchListener 进行快速响应。
(我需要确切的 Action.Down 时间并开始处理一些传感器数据)。
我在 phone 上测试过,马上就可以了。
然而,在 Android Wear(LG G Watch)上,它在显示结果之前大约有 100-200 毫秒。
请看视频。
https://www.youtube.com/watch?v=4RAb6pgKAqw
我使用了以下最少的代码(其中大部分是我在 Android Studio 中开始新项目时自动生成的)
我刚刚添加了一个 onTouchListener,它设置了一个具有当前正常运行时间的文本视图,这样我就知道这是一个新的着陆点。
我知道手表比 phone 慢,但是触摸延迟 200 毫秒太多了。
有人知道为什么或如何提高响应速度吗?
快速响应对我的应用程序很重要。
另一种方法是始终为我检测到的每个 onTouch 减去 200 毫秒?
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final WatchViewStub stub = (WatchViewStub) findViewById(R.id.watch_view_stub);
stub.setOnLayoutInflatedListener(new WatchViewStub.OnLayoutInflatedListener() {
@Override
public void onLayoutInflated(WatchViewStub stub) {
mTextView = (TextView) stub.findViewById(R.id.text);
}
});
stub.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
mTextView.setText("Touch DOWN " + SystemClock.uptimeMillis());
return true;
}
return false;
}
});
没关系,我找到问题了。
这是因为我在 "Accessibility" 设置下启用了三击缩放功能。 (放大手势)
我禁用它后,它现在快多了。
这是因为您在 "Accessibility" 设置下启用了三击缩放功能。 (放大手势)
请禁用它。
我需要在 Android Wear 的任何视图上对 onTouchListener 进行快速响应。
(我需要确切的 Action.Down 时间并开始处理一些传感器数据)。
我在 phone 上测试过,马上就可以了。
然而,在 Android Wear(LG G Watch)上,它在显示结果之前大约有 100-200 毫秒。
请看视频。
https://www.youtube.com/watch?v=4RAb6pgKAqw
我使用了以下最少的代码(其中大部分是我在 Android Studio 中开始新项目时自动生成的)
我刚刚添加了一个 onTouchListener,它设置了一个具有当前正常运行时间的文本视图,这样我就知道这是一个新的着陆点。
我知道手表比 phone 慢,但是触摸延迟 200 毫秒太多了。
有人知道为什么或如何提高响应速度吗?
快速响应对我的应用程序很重要。
另一种方法是始终为我检测到的每个 onTouch 减去 200 毫秒?
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final WatchViewStub stub = (WatchViewStub) findViewById(R.id.watch_view_stub);
stub.setOnLayoutInflatedListener(new WatchViewStub.OnLayoutInflatedListener() {
@Override
public void onLayoutInflated(WatchViewStub stub) {
mTextView = (TextView) stub.findViewById(R.id.text);
}
});
stub.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
mTextView.setText("Touch DOWN " + SystemClock.uptimeMillis());
return true;
}
return false;
}
});
没关系,我找到问题了。
这是因为我在 "Accessibility" 设置下启用了三击缩放功能。 (放大手势)
我禁用它后,它现在快多了。
这是因为您在 "Accessibility" 设置下启用了三击缩放功能。 (放大手势)
请禁用它。