Очень низкая производительность Card.io на Nexus 10

Я внедрил card.io в приложение, и производительность при открытии активности сканирования кредитных карт (CreditIOActivity) быстро открывается на большинстве устройств. Но на Nexus 10 под управлением Android 4.4.2 загрузка сканирования при вызове из моего приложения может занять до 5 секунд. Хотя эта длительная задержка НЕ ​​возникает в примере приложения, который card.io предоставляет их SDK< /а>. Я думаю, что это может быть проблема с памятью, вызывающая медленную загрузку при открытии из моего приложения, но это не объясняет, почему производительность почти идентична примерному приложению на других устройствах.

Вся помощь приветствуется.


person Dick Lucas    schedule 12.06.2014    source источник


Ответы (2)


Проверяете ли вы CardIOActivity.canReadCardWithCamera(this) в своей деятельности onResume() или что-то подобное? Card.io нуждается в некоторой статической инициализации. Если его можно запустить раньше, это не обязательно должно происходить, когда пользователь ждет.

person tomwhipple    schedule 12.06.2014
comment
@timwhipple, спасибо, сэр. Это значительно улучшает открытие активности в портретном режиме, но по какой-то причине это все еще очень медленно при открытии активности в ландшафтном режиме. Есть идеи, Том? - person Dick Lucas; 13.06.2014
comment
Присутствует ли такая же разница между альбомной и портретной ориентацией на других устройствах? Как насчет примера приложения на Nexus 10? - person tomwhipple; 13.06.2014
comment
На других устройствах ведет себя нормально. И пример приложения отлично работает в портретной и альбомной ориентации. - person Dick Lucas; 20.06.2014

SampleApp действительно испытывает те же проблемы с производительностью, просто делает это при запуске приложения. CardIOActivity.canReadCardWithCamera(this) может занять до 4 секунд на Nexus 10. Я повозился и обнаружил, что вызов CardIOActivity.canReadCardWithCamera(this) в AsyncTask значительно улучшает взаимодействие с пользователем. Я рекомендую запускать AsyncTask, когда пользователь входит в действие непосредственно перед тем, как ему будет предложено отсканировать карту. Еще раньше было бы идеальнее, но становится сложнее управлять.

В случае, если пользователь попытается отсканировать карту до возврата этого метода, Card.io изящно вернется к ручному вводу.

person Jeff Brateman    schedule 19.08.2014