Это вызвано тем, что все изменения в RemoteViews сериализуются (например, 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 для каждого квадратаэто должно взять на экране) и использовать его для вашего виджета, и ваша проблема будет решена:)