当前位置:编程学习 > wap >>

求救!程序在android 4.3下会出错. 报IllegalStateException: Already in the pool!

我的程序有个左侧菜单sliding menu,用fragment做的,里面有个SlidingView的类,里面有用到VelocityTracker来检测滑动的速度.在android 4.2之前都没问题的,昨天把手机升到4.3了,发现一但进行手势滑动的时候就报错.具体是用到VelocityTracker类里的recycle()方法.请问有大神知道是什么问题吗?如果不适用这个回收方法或者用try,就不会报错,但是整个滑动的效果就没那么流畅了.
if (mVelocityTracker != null) {
mVelocityTracker.recycle();
mVelocityTracker = null;
}


然后他报的错误是
08-01 14:55:18.629: W/System.err(17807): java.lang.IllegalStateException: Already in the pool!
08-01 14:55:18.629: W/System.err(17807):  at android.util.Pools$SimplePool.release(Pools.java:112)
08-01 14:55:18.629: W/System.err(17807):  at android.util.Pools$SynchronizedPool.release(Pools.java:161)
08-01 14:55:18.629: W/System.err(17807):  at android.view.VelocityTracker.recycle(VelocityTracker.java:85)
08-01 14:55:18.629: W/System.err(17807):  at com.test.demo.layout.SlidingView.onTouchEvent(SlidingView.java:266)
08-01 14:55:18.629: W/System.err(17807):  at android.view.View.dispatchTouchEvent(View.java:7384)
08-01 14:55:18.629: W/System.err(17807):  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2203)
08-01 14:55:18.629: W/System.err(17807):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1938)
08-01 14:55:18.639: W/System.err(17807):  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2209)
08-01 14:55:18.639: W/System.err(17807):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1952)
08-01 14:55:18.639: W/System.err(17807):  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2209)
08-01 14:55:18.639: W/System.err(17807):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1952)
08-01 14:55:18.639: W/System.err(17807):  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2209)
08-01 14:55:18.639: W/System.err(17807):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1952)
08-01 14:55:18.639: W/System.err(17807):  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2209)
08-01 14:55:18.639: W/System.err(17807):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1952)
08-01 14:55:18.639: W/System.err(17807):  at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1966)
08-01 14:55:18.639: W/System.err(17807):  at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1418)
08-01 14:55:18.639: W/System.err(17807):  at android.app.Activity.dispatchTouchEvent(Activity.java:2424)
08-01 14:55:18.639: W/System.err(17807):  at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1914)
08-01 14:55:18.639: W/System.err(17807):  at android.view.View.dispatchPointerEvent(View.java:7564)
08-01 14:55:18.639: W/System.err(17807):  at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:3883)
08-01 14:55:18.639: W/System.err(17807):  at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:3778)
08-01 14:55:18.639: W/System.err(17807):  at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3379)
08-01 14:55:18.639: W/System.err(17807):  at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3429)
08-01 14:55:18.639: W/System.err(17807):  at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3398)
08-01 14:55:18.639: W/System.err(17807):  at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3483)
08-01 14:55:18.639: W/System.err(17807):  at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3406)
08-01 14:55:18.639: W/System.err(17807):  at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3540)
08-01 14:55:18.639: W/System.err(17807):  at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3379)
08-01 14:55:18.639: W/System.err(17807):  at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3429)
08-01 14:55:18.639: W/System.err(17807):  at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3398)
08-01 14:55:18.639: W/System.err(17807):  at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3406)
08-01 14:55:18.639: W/System.err(17807):  at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3379)
08-01 14:55:18.639: W/System.err(17807):  at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5419)
08-01 14:55:18.639: W/System.err(17807):  at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5399)
08-01 14:55:18.639: W/System.err(17807):  at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5370)
08-01 14:55:18.639: W/System.err(17807):  at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:5493)
08-01 14:55:18.639: W/System.err(17807):  at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:182)
08-01 14:55:18.639: W/System.err(17807):  at android.os.MessageQueue.nativePollOnce(Native Method)
08-01 14:55:18.639: W/System.err(17807):  at android.os.MessageQueue.next(MessageQueue.java:132)
08-01 14:55:18.639: W/System.err(17807):  at android.os.Looper.loop(Looper.java:124)
08-01 14:55:18.639: W/System.err(17807):  at android.app.ActivityThread.main(ActivityThread.java:5103)
08-01 14:55:18.639: W/System.err(17807):  at java.lang.reflect.Method.invokeNative(Native Method)
08-01 14:55:18.639: W/System.err(17807):  at java.lang.reflect.Method.invoke(Method.java:525)
08-01 14:55:18.639: W/System.err(17807):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
08-01 14:55:18.639: W/System.err(17807):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
08-01 14:55:18.639: W/System.err(17807):  at dalvik.system.NativeStart.main(Native Method)


Android 4.3 滑动 --------------------编程问答-------------------- 自己顶一下啊,有大神吗?谢谢各位啦 --------------------编程问答-------------------- 我继续顶啊~ --------------------编程问答-------------------- 老兄啊,遇到和你一模一样的问题,我也是SlidingMenu的OnTouchEvent方法中抛的 --------------------编程问答--------------------
引用 3 楼 SunBo_Java 的回复:
老兄啊,遇到和你一模一样的问题,我也是SlidingMenu的OnTouchEvent方法中抛的

我也是那里抛.你也升了4.3了吗? 有没有其他大神知道怎么办? 我看过android新的api文档,这个方法貌似没变化啊.
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,