2012-08-07 2 views
0

나는 사용자가 전화기로 카메라를 사용하여 카메라를 실행하고 (카메라 바이트를 우리의 라이브러리에 넣을 수있는) 응용 프로그램을 가지고 있거나 jpeg 시퀀스를 사용하고 그 대신에 이미지. 우리는 몇 가지 다른 이미지 시퀀스를 출하 할 계획이며, 이는 기기의 자산 폴더에 패키지됩니다. API는 파일 경로 또는 이미지의 실제 바이트로 이미지로드를 지원합니다.안드로이드에서 JPEG로 카메라 시뮬레이션하기

jpeg 이미지를 먹이는 가장 좋은 방법은 무엇입니까? 직접 AssetManager에서

  1. 로드 JPEG의 바이트와 바이트로 내 API에 전달할 : 제가보기에는

    , 나는 두 가지 선택이있다. 이것은 AssetManager의 각 파일의 바이트를 지속적으로 가져오고 있음을 의미합니다. (비용은 무엇인지에 대해 프로파일 링하려고하지만 어쩌면 누군가가 이미 비용이 너무 높다는 것을 알고있을 것입니다.)

  2. 모든 이미지를 캐시 폴더에 복사 한 다음 파일 이름별로로드하십시오. 성능 측면에서 볼 때이 접근법은 더 나은 것으로 보이지만 훨씬 더 많은 오버 헤드가 필요하며 분명히 사용자 장치에서 훨씬 많은 공간을 차지합니다. (이제는 각 이미지 시퀀스가 ​​30 초 미만이므로 30fps * 30 초 = 900 이미지로 제한됩니다.)

도움 주셔서 감사합니다.

+0

이미지 당 KiB의 JPEG 이미지 크기와 총 예상 크기를 언급하는 것이 현명 할 것입니다. – wojciii

+0

이 샘플에는 160 개의 이미지 만 있지만 디스크 당 하나의 샘플로 각 JPEG는 약 40KB입니다. 실제 크기는 결국 우리가 지원할 수있는 가장 높은 해상도의 이미지가 무엇인지에 따라 달라 지므로 애플리케이션에서 충분한 성능 처리량을 얻을 수 있습니다. 우리가하는 일은 CPU 집약적이며 이미지 해상도가 높을수록 CPU 비용이 높습니다. 우리는 아마도 꽤 낮은 해상도의 이미지를 사용하여 끝날 것입니다 (약 160x240). 그러나 여기에서 자신을 제한하려고하지 않으려합니다. 한계는 CPU가 아닌 메모리 여야합니다. – Liron

답변

0

마지막으로 OK 인 접근 # 2를 사용하여 종료되었습니다.

관련 문제