/* protected */ public override void OnRecycle() { base.OnRecycle(); TouchEvent touchEvent = this.mTouchEvent; touchEvent.GetMotionEvent().Recycle(); touchEvent.Recycle(); }
protected bool FireTouchEvent(float pX, float pY, /* int pAction */ Android.Views.MotionEventActions pAction, int pPointerID, MotionEvent pMotionEvent) { bool handled; if (this.mRunOnUpdateThread) { TouchEvent touchEvent = TouchEvent.Obtain(pX, pY, pAction, pPointerID, MotionEvent.Obtain(pMotionEvent)); TouchEventRunnablePoolItem touchEventRunnablePoolItem = this.mTouchEventRunnablePoolUpdateHandler.ObtainPoolItem(); touchEventRunnablePoolItem.Set(touchEvent); this.mTouchEventRunnablePoolUpdateHandler.PostPoolItem(touchEventRunnablePoolItem); handled = true; } else { TouchEvent touchEvent = TouchEvent.Obtain(pX, pY, pAction, pPointerID, pMotionEvent); handled = this.mTouchEventCallback.OnTouchEvent(touchEvent); touchEvent.Recycle(); } return(handled); }