2014-06-12 7 views
1

앱에 card.io를 구현했으며 신용 카드 스캔 활동 (CreditIOActivity)을 열 때 성능이 대부분의 기기에서 빠르게 열립니다. 하지만 Android 4.4.2를 실행하는 Nexus 10에서는 내 앱에서 호출 할 때 검색 활동이로드되는 데 최대 5 초가 걸릴 수 있습니다. 이 긴 지연은 예제 응용 프로그램 card.io에서 발생하지 않지만 their SDK과 함께 제공됩니다. 나는 그것이 내 응용 프로그램 내에서 열 때 느린로드 시간을 일으키는 메모리 문제가 될 수 있습니다 생각하지만 그 성능이 다른 장치에있는 샘플 애플 리케이션과 거의 동일한 이유를 설명하지 않습니다.Nexus 10의 Card.io 성능이 매우 느립니다.

모든 도움을 주시면 대단히 감사하겠습니다.

답변

2

귀하의 활동 내 onResume() 또는 그 유사품에 CardIOActivity.canReadCardWithCamera(this)을 확인 하시겠습니까? card.io에 필요한 정적 초기화가 있습니다. 일찍 트리거 될 수 있으면 사용자가 대기 중일 때 발생하지 않아도됩니다.

+0

@timwhipple, 감사합니다. 이렇게하면 세로 모드에서의 활동 열기가 크게 향상되지만 가로 모드에서 활동을 열 때 어떤 이유로 인해 여전히 느려집니다. 어떤 아이디어 톰? – Richard

+0

가로 및 세로가 다른 장치에있는 것과 같은 차이점이 있습니까? Nexus 10의 샘플 앱은 어떻습니까? – tomwhipple

+0

다른 장치에서는 정상적으로 작동합니다. 그리고 샘플 앱은 인물과 풍경을 잘 처리합니다. – Richard

1

SampleApp은 실제로 동일한 성능 문제를 겪습니다. 앱 시작시에만 수행됩니다. CardIOActivity.canReadCardWithCamera(this)은 Nexus 10에서 최대 4 초가 걸릴 수 있습니다. 주변을 둘러보고 AsyncTask에서 CardIOActivity.canReadCardWithCamera(this)을 호출하면 사용자 환경이 크게 향상된다는 것을 알았습니다. 사용자가 카드 스캔을 요청하기 바로 전에 활동을 입력 할 때 AsyncTask를 시작하는 것이 좋습니다. 이전보다 더 이상적이지만 관리하기가 더 어려워집니다.

이 방법을 사용하기 전에 사용자가 카드를 스캔하려고하면 Card.io가 수동 입력으로 정상적으로 돌아갑니다.