0
나는 안드로이드 위젯을 처음 사용하고 있는데, 더 많은 이미지를 사용하고있는 위젯을 개발 중입니다. 완벽하게 실행되지만 때때로 오류가 발생합니다. Failed Binder Transaction
, 문제는 remoteviews에서 알 수 있습니다. 안드로이드 위젯에서 remoteviews 처리하는 방법?안드로이드 위젯의 리모트 뷰 처리하기
나는 안드로이드 위젯을 처음 사용하고 있는데, 더 많은 이미지를 사용하고있는 위젯을 개발 중입니다. 완벽하게 실행되지만 때때로 오류가 발생합니다. Failed Binder Transaction
, 문제는 remoteviews에서 알 수 있습니다. 안드로이드 위젯에서 remoteviews 처리하는 방법?안드로이드 위젯의 리모트 뷰 처리하기
이것은 RemoteView에 대한 모든 변경 사항이 직렬화되어 발생합니다 (예 : setInt 및 setImageViewBitmap). 비트 맵은 또한 내부 번들로 직렬화됩니다. 불행히도이 번들은 크기 제한이 매우 작습니다.
비트 맵의 크기를 줄 였는지 확인하십시오. 다음 코드를 참조하십시오.
public static Bitmap scaleDownBitmap(Bitmap photo, int newHeight, Context context) {
final float densityMultiplier = context.getResources().getDisplayMetrics().density;
int h= (int) (newHeight*densityMultiplier);
int w= (int) (h * photo.getWidth()/((double) photo.getHeight()));
photo=Bitmap.createScaledBitmap(photo, w, h, true);
return photo;
}
이 newHeight은 당신의 위젯을 사용 (이 화면에해야 모든 사각형을 위해 ~ 100) 작은해야하고, 문제가 해결 될 것입니다 :)
을