我已将card.io实施到应用中,并且在大多数设备上打开信用卡扫描活动(CreditIOActivity)时性能会很快打开。但是在运行Android 4.4.2的Nexus 10上,从我的应用程序调用时,加载扫描活动可能需要5秒钟。虽然样本应用程序卡中没有出现这种长时间延迟,但会提供their SDK。我认为这可能是一个内存问题导致从我的应用程序中打开时加载时间缓慢,但这并不能解释为什么性能与其他设备上的示例应用程序几乎完全相同。
非常感谢所有帮助。
答案 0 :(得分:2)
您是否正在查看活动CardIOActivity.canReadCardWithCamera(this)
或类似内容中的onResume()
?有一些card.io需要的静态初始化。如果可以提前触发,则在用户等待时不会发生这种情况。
答案 1 :(得分:1)
SampleApp确实遇到了相同的性能问题,它只是在app启动时才会遇到。 Nexus 10上CardIOActivity.canReadCardWithCamera(this)
最多可能需要4秒钟。我摆弄了一下,发现在AsyncTask上调用CardIOActivity.canReadCardWithCamera(this)
可以极大地改善用户体验。我建议当用户在要求扫描卡片之前立即进入活动时启动AsyncTask。甚至更早更理想,但变得更难管理。
如果用户在此方法返回之前尝试扫描卡片,Card.io会优雅地回退到手动输入。