2011-12-10 6 views
1

可能な重複失敗しました:
failed binder transaction on widget updateは、Androidのウィジェットのバインダートランザクション

私は私のアンドロイドウィジェット内のビットマップを更新しようとすると、私は問題を抱えています。 JAVA FAILED BINDER TRANSACTIONエラーは、ログマップ内でビットマップの更新が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)); 
私はここで間違ってやっているように見えるものを知らない

を更新するには、それを呼び出しています場所です研究の2日後、私はIPCメモリの限界にぶつかっているということです。どうして、これを避けるのか?

答えて

2

はい、バインダー呼び出しで渡されたビットマップのサイズ制限に達しています。 Androidの最近のバージョンではこれに新しいメカニズムが使用されています。

小さいビットマップを使用すると、エラーを回避できます。 :)

+1

ビットマップを小さくするとエラーが遅れるだけですが、これを回避することはできません。 –

関連する問題