This is the function in question https://github.com/kivy/python-for-android/blob/master/recipes/android/src/android/_android.pyx#L174
profile of moving 1 finger for most of the time while profiling: http://chozabu.net/autopush/boardz-android-12-09-14-2135.profile ~12% total cpu usage by get_keyboard_height
profile of moving ~5 fingers for most of the time while profiling: http://chozabu.net/autopush/5fingers.profile ~30% total cpu usage by get_keyboard_height
It looks like eventes are issued by android when the keyboard changes - this would be a good time to cache the keyboard height:
ref - http://stackoverflow.com/a/18992807/445831