我实施了kyle的解决方案,它解决了问题。Howewer,当我打开应用程序时,我注意到android
4.0.4上的大量电池消耗。同样在更改之后,我还让用户抱怨swiftKey键盘不再可用于我的应用程序。
我的应用程序中的每个更改都是由用户操作触发的,因此我想出了一个修改后的版本,该版本仅在touchEvent之后触发invalidate():
Handler handler = new Handler(); public boolean onTouchEvent (MotionEvent event){ super.onTouchEvent(event); handler.postDelayed(triggerInvalidate, 60); handler.postDelayed(triggerInvalidate, 300); return true; } private Runnable triggerInvalidate=new Runnable(){ public void run(){ invalidate(); } };从未使用Java进行任何编程,因此可能会有更好的解决方案。



