1

请告诉我这种方法是否安全,或者我可以使用什么来代替普通线程来安全地将触摸事件分派给我的活动,以便测试来自该 onTouch() 方法的整个流程女巫触发器。

//this is the thread which fires Touch Events to my main activity
public class Monkey extends Thread {

    Run r;
    float x,y;
    public Monkey (Run a)
    {
        r = a;
    }

    public void run()
    {
        int i = 0;
        while(i<10000)

        {
            r.onTouch(r.geView(),
                MotionEvent.obtain(SystemClock.uptimeMillis(), 
                SystemClock.uptimeMillis(), 2, x++, y++, 0));
        }
    }
}

// and this is the main activity
public class Run extends Activity implements OnTouchListener{
    private GLSurfaceView glSurface;

    public View geView()
    {
        return glSurface;
    }

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        glSurface = new GLSurfaceView(this);
        glSurface.setOnTouchListener(this);
        setContentView(glSurface);
        m = new Monkey(this);
    }

    public boolean onTouch(View v, MotionEvent event) 
    {
        //if from here i make other calls to classes that update my glsurface will my application eventualy crash?
    }
}
4

1 回答 1

1

使用单例类

单例架构

于 2012-03-05T05:20:40.270 回答