Возможный дубликат:
неудачная транзакция связывания с обновлением виджета
У меня проблема, когда я пытаюсь обновить растровое изображение в моем виджетах Android. Ошибка JAVA FAILED BINDER TRANSACTION запустит цикл в моем logcat после 10-12 обновлений растрового изображения, и после этого мой виджет перестанет обновляться. Все, что я делаю, показывает текущие секунды в моем виджете на данный момент. Вот как я создаю растровое изображение
public static Bitmap buildUpdate(String time,Context ctx)
{
Bitmap myBitmap=null;
myBitmap = Bitmap.createBitmap(160, 84, Bitmap.Config.ARGB_4444);
Canvas myCanvas = new Canvas(myBitmap);
Paint paint = new Paint();
Typeface clock = Typeface.createFromAsset(ctx.getAssets(),"AladinRegular.ttf");
paint.setAntiAlias(true);
paint.setSubpixelText(true);
paint.setTypeface(clock);
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.WHITE);
paint.setTextSize(65);
paint.setTextAlign(Align.CENTER);
myCanvas.drawText(time, 80, 60, paint);
return myBitmap;
}
и вот где я звоню, чтобы обновить мое изображение
remoteViews.setImageViewBitmap(R.id.label_fg, Drawing.buildUpdate(seconds+" ",ctxt));
Я не знаю, что я, кажется, делаю неправильно здесь, все, что я получил после двух дней исследований, это то, что я нажимаю ограничение памяти IPC. Почему так и как этого избежать?
Да, вы нажимаете ограничение размера для растровых изображений, прошедших через вызов связующего. В более поздних версиях Android используются новые механизмы для этого и пределы выше.
Вы можете избежать ошибки, используя меньшие растровые изображения. :)