android小部件中的活页夹事务失败

时间:2011-12-10 21:19:06

标签: java android android-widget

  

可能重复:
  failed binder transaction on widget update

我在尝试更新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;
    }

这就是我要求它更新我的imageview

的地方
   remoteViews.setImageViewBitmap(R.id.label_fg, Drawing.buildUpdate(seconds+" ",ctxt));

我不知道我在这里做错了什么,经过两天的研究后我得到的是我的IPC内存限制。为什么这样以及如何避免这种情况?

1 个答案:

答案 0 :(得分:2)

是的,您正在达到通过活页夹调用传递的位图的大小限制。更新版本的Android使用更新的机制,限制更高。

您可以使用较小的位图来避免错误。 :)