サービスから (放送受信機経由で) 毎分更新される時計ウィジェットを作成しましたが、数時間後には約 600MB の RAM が必要です。
ウィジェットは、いくつかの機能を備えたビットマップを毎分描画し、単純な で表示しImageView
ます。
最初、ウィジェットは数 kb の RAM しか占有しませんが、数分後には数百 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);
}
}