2016-06-12 3 views
1

내 콘텐츠 페이지에 Image 요소가 있습니다. 내 ContentPage의 생성자에 MemoryStream 소스를 할당하려고합니다. 이것은 Samsung Galaxy A3 (Android 5.0.2)에서 정상적으로 작동하지만 Samsung Galaxy Note 3 (Android 5.0)에서는 아무 것도 표시하지 않습니다 (오류, 예외, 이미지 없음). Xamarin의 버그인가요? 폼? 아니면 내가 잘못 했니?일부 Android 기기에서 ImageSource.FromStream()이 작동하지 않습니다.

코드 :

Image image = new Image(); 
var path = "some/path/to/image.jpg"; 
var bytes = File.ReadAllBytes(path); //has correct byte array with correct length 
image.Source = ImageSource.FromStream(() => new MemoryStream(bytes)); 
+0

에뮬레이터에서 이것을 시험해보고 결과를 알려주십시오. – jzeferino

+0

API23 에뮬레이터를 사용해 보았지만 배포에 실패했습니다. 이제 API15를 시도하고 있습니다. 몇 분이 지나도 여전히 배포 중입니다. 나는 결코 안드로이드 에뮬레이터와 운이 없었습니다 ... – Episodex

+0

@Episodex이 코드는 의존성 서비스에 있습니까? ie'Forms' 코드에서'File.ReadAllBytes'에 어떻게 접근하고 있습니까? – SushiHangover

답변

1

나는 같은 문제가 있습니다.

카메라에서 더 낮은 해상도를 선택하면 이미지가 작동하고 선택 해상도가 < 9 Mpx이고 이미지가 작동하며 해상도가 더 높아져 이미지가 작동하지 않습니다. 안드로이드 버전과 장치에 따라 다르지만 메모리가 부족합니다.

그래서 카메라로 촬영 한 이미지의 크기를 조정하면됩니다.

FFimageLoading 플러그인과 CachedImage 컨트롤을 설치할 수 있습니다. 이미지 크기를 조정하기를 선호하기 때문에 테스트하지 않습니다. 앱이 플러그인과 함께 더 큽니다.

관련 문제