在android小部件中处理RemoteView

在android小部件中处理RemoteView,android,android-widget,Android,Android Widget,我是android小部件的新手,目前我正在开发一个小部件,在这个小部件中我使用了更多的图像,它运行得很好,但有时它会抛出错误失败的活页夹事务, 我知道RemoteView存在问题,有人能告诉我如何在android widget中处理RemoteView吗?这是因为对RemoteView的所有更改都是序列化的(例如setInt和setImageViewBitmap)。位图也被序列化为一个内部包。不幸的是,此捆绑包的大小限制非常小 确保缩小位图的尺寸。请参阅以下代码 public static B

我是android小部件的新手,目前我正在开发一个小部件,在这个小部件中我使用了更多的图像,它运行得很好,但有时它会抛出错误
失败的活页夹事务

我知道RemoteView存在问题,有人能告诉我如何在android widget中处理RemoteView吗?

这是因为对RemoteView的所有更改都是序列化的(例如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;
 }
这个新高度应该很小(屏幕上的每一个正方形大约有100个),并将其用于小部件,您的问题就会得到解决:)