我创建了一个时钟小部件,它每分钟从服务(通过广播接收器)更新,但几个小时后它需要大约 600mb 的 RAM。
该小部件每分钟绘制一个具有某些功能的位图,并通过简单的ImageView
.
一开始,小部件只占用几 kb 的内存,但几分钟后它会占用数百 mb。有没有办法在创建新位图之前清除 RAM?
这是小部件代码的一部分:
public class Widget_01_Clock extends AppWidgetProvider {
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
Bitmap clock = WidgetPaint.getClockBitmap();
RemoteViews updateViews = new RemoteViews(context.getPackageName(),R.layout.w_01_clock);
updateViews.setImageViewBitmap(R.id.w_01_clock, clock);
}
}