我正在編寫需要接收觸摸事件的Android遊戲。我的問題是,無論用戶何時沿屏幕拖動手指,觸發事件都會發送到touch事件處理程序(我認爲它是作爲一個單獨的線程運行),導致幀速率直線下降!我可以限制每秒處理的觸摸事件數量的最佳方式是什麼?例如,如果我的遊戲運行速度爲60 fps,那麼我實際上不需要每秒鐘處理超過1個觸摸事件。我能做到這一點嗎?不會丟失任何信息(即關於用戶最後觸摸屏幕上的哪個位置的重要信息)?過多的觸摸事件減慢Android應用程序
2
A
回答
3
我的猜測是,它不是觸摸事件,而是它們的處理。確保你只是處理你需要的事件類型(即下移或移動)而忽略其他事件。如果存儲時間不超過1秒,您也可能想要存儲時間並提前退出事件。
public boolean onTouchEvent(MotionEvent event) {
float x = event.getX();
float y = event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
0
請參閱處理事件this page。即使你不使用GLSurfaceView,它仍然可能適用。至少在具有圖形加速功能的手機上(不要在模擬器上測試它),我認爲你應該能夠每秒處理至少50個touchEvents,而不會降低幀率。
你不想做的是阻止渲染線程出於任何原因。
相關問題
- 1. 通過觸摸事件傳遞給應用程序
- 2. 在Android的多點觸摸事件
- 3. 針對java應用程序的多點觸摸事件到鼠標事件
- 4. Android中的觸摸事件
- 5. Android的觸摸事件
- 6. Android Wear Overlay通過觸摸事件
- 7. ngIf減慢應用程序
- 8. 需要多個視圖來響應iPhone應用程序中的觸摸事件
- 9. Android Soundpool - 觸摸事件
- 10. Android TextView觸摸事件
- 11. 在觸摸移動過程中停止觸摸事件
- 12. SplashScreen跳過觸摸事件
- 13. Android上的緩慢的Javascript觸摸事件
- 14. 如何爲我的應用程序實現觸摸事件?
- 15. iOS的Web應用程序:輸入忽略觸摸事件
- 16. 觸摸屏應用程序的最佳事件?
- 17. 多點觸摸事件
- 18. 觸摸響應事件ios4
- 19. 如何將觸摸事件發送到Android中的特定應用程序
- 20. 將手持式觸摸事件添加到Web應用程序
- 21. 檢測任何觸摸事件在應用程序在iPhone
- 22. 觸摸事件流程
- 23. 觸摸事件
- 24. Android - 滾動時禁用觸摸事件
- 25. 在Android中禁用WebView觸摸事件
- 26. 如何禁用觸摸事件android
- 27. iOS-charts減慢我的應用程序
- 28. Android初學者:觸摸事件android gridview
- 29. Android上的JavaScript中的觸摸事件
- 30. 重置觸摸事件的事件處理程序
[爲什麼觸摸事件會破壞我的Android幀速率?](http://stackoverflow.com/questions/792185/why-are-touch-events-destroying-my-android-framerate) – richq 2011-01-06 12:15:17