OK, I have been using Appium for all my mobile automation needs and the sendKeys performance on Android platform started to annoy me as the automation framework grew bigger, Jenkins takes a lot of time to build our android project.
For example, input of text performs 3,5 sec on average on real device, and this is for an average string, per inputbox.
I have tried to type text in alternative ways - using sendKeyEvent() method for all symbols in input text, but this method also proved to be ineffective.
Than i moved away from the framework and dived deep into adb. I can easily say that adb never lets you down :)
I am now refactoring our repo with the following command through adb:
adb shell input text 'testString'
With the help from adb, text input time dropped from average 3.5 sec average to 1 sec. And if your test target is heavily input independent, this workaround will save you a lot of computational time.
Happy Automation, Ciao!
Emir