javabinder,失败的 BINDER 事务 - setImageViewBitmap(..) [重复]
Posted
技术标签:
【中文标题】javabinder,失败的 BINDER 事务 - setImageViewBitmap(..) [重复]【英文标题】:javabinder , FAILED BINDER TRANSACTION - setImageViewBitmap(..) [duplicate] 【发布时间】:2011-12-11 08:45:43 【问题描述】:可能重复:failed binder transaction on widget update
每当我使用位图更新我的小部件 Imageview 时,Logcat 都会显示以下错误,
“Javabinder ,失败的 BINDER 事务”
我在互联网上搜索并了解这是由于内存问题。
我正在使用以下代码来更新 ImageView。
private void update(Context context)
Log.d("Configure", "updatestart");
remoteViews.setImageViewBitmap(R.id.clockview,
buildUpdate("CURRENTTIME", c));
awm.updateAppWidget(awID, remoteViews);
还有 buildUpdate 函数:
public Bitmap buildUpdate(String time, Context context)
Log.d("ConfigureApp","Buildupdate_fn ---" + "start");
date = new Date();
sec = (float) date.getSeconds();
min = (float) date.getMinutes();
hour = (float) date.getHours() + min / 60.0f;
bitmap = Bitmap.createBitmap(200, 200, Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
Paint p = new Paint();
p.setAntiAlias(true);
p.setColor(0xFFFF0000);
p.setStrokeWidth(2);
canvas.drawLine(
x,
y,
(float) (x + (r - 15)
* Math.cos(Math
.toRadians((hour / 12.0f * 360.0f) - 90f))),
(float) (y + (r - 10)
* Math.sin(Math
.toRadians((hour / 12.0f * 360.0f) - 90f))), p);
canvas.save();
p.setColor(0xFF0000FF);
canvas.drawLine(
x,
y,
(float) (x + r
* Math.cos(Math.toRadians((min / 60.0f * 360.0f) - 90f))),
(float) (y + r
* Math.sin(Math.toRadians((min / 60.0f * 360.0f) - 90f))),
p);
canvas.save();
p.setColor(0xFFA2BC13);
canvas.drawLine(
x,
y,
(float) (x + (r + 10)
* Math.cos(Math.toRadians((sec / 60.0f * 360.0f) - 90f))),
(float) (y + (r + 15)
* Math.sin(Math.toRadians((sec / 60.0f * 360.0f) - 90f))),
p);
remoteViews.setTextViewText(R.id.mycity, Float.toString(x));
return bitmap;
请告诉我如何避免这个错误。:(有没有其他方法可以做到这一点?
提前致谢,
【问题讨论】:
【参考方案1】:如果这是内存错误,则尝试重用位图,而不是在每次调用 buildUpdate()
时都创建新的。
另外,AFAIK,canvas.save()
仅在您实际调用 canvas.restore()
时才有用。
【讨论】:
从***.com/questions/7888890/…的帖子我了解到,我们可以将它保存在一个文件夹中,只需调用即可避免错误。但是该怎么做呢?以上是关于javabinder,失败的 BINDER 事务 - setImageViewBitmap(..) [重复]的主要内容,如果未能解决你的问题,请参考以下文章