gpt4 book ai didi

一段时间后 Android Zoom 没有响应?

转载 作者:行者123 更新时间:2023-11-30 03:00:55 27 4
gpt4 key购买 nike

我正在开发一个应用程序,我将触摸监听器应用于我的布局 View 。我将布局移到屏幕上,但该布局在 10 到 15 秒后响应不佳。这是我的代码:

base = (LinearLayout) findViewById(R.id.load);

base.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, final MotionEvent event) {

int motion = event.getAction();
int numberOfPointers = event.getPointerCount();
if (numberOfPointers < 3) {
switch (motion & MotionEvent.ACTION_MASK) {

case MotionEvent.ACTION_DOWN:
drag = true;
break;

case MotionEvent.ACTION_POINTER_DOWN: {
drag = false;
if (drawWaveForm != null) {
zoom = true;
}
// initial x1 and x2
BitmapDetector.prevX1 = Math.min(event.getX(0), event.getX(1));
BitmapDetector.prevX2 = Math.max(event.getX(0), event.getX(1));
BitmapDetector.prevY1 = event.getY(0);
BitmapDetector.prevY2 = event.getY(1);
}
break;

case MotionEvent.ACTION_MOVE:
if (drag && event.getActionIndex() == 0) {
// Log.d("detecting","inside the action move");
if (touching == false) {
touching = detector.isWaveformAnchor(event.getX(0), event.getY(0));
} else if (touching == true) {
float diff = event.getY(0) - loadWaveFormManager.getCh1_pos();
if ((loadWaveFormManager.getCh1_pos() + diff) < (StaticValues.screenHeight - 50)) {
int tempCh1_pos = (int) (loadWaveFormManager.getCh1_pos() + diff);
loadWaveFormManager.setCh1_pos(tempCh1_pos);
}
drawWaveForm.update(loadWaveFormManager);
}
}
break;

case MotionEvent.ACTION_UP:
// Log.d("detecting","inside the action up");
drag = false;
touching = false;
zoom = false;

break;

case MotionEvent.ACTION_POINTER_UP:
// here different function

return;
}
});

有人知道吗?请帮我解决这个问题。

最佳答案

从您的代码中不清楚您的问题是什么以及何时发生。我没有看到任何 TimerTaskAsyncTask 引用。

我想,您正试图在 UI 线程中执行一些开销很大的操作,这会卡住您的应用程序。可能长时间运行的候选对象是 drawWaveForm.update(loadWaveFormManager)

如果是这样,您应该异步执行计算,然后才更新 UI。

顺便说一下,您的代码根本无法编译:

public boolean onTouch(View v, final MotionEvent event)

应该返回truefalse,而不是您在此方法结束时执行return;。这导致了一个假设,即您在问题中提供了不相关的代码,但仍希望收到相关的答案。

提供相关代码 fragment 以供进一步分析。

关于一段时间后 Android Zoom 没有响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22552297/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com