我有一个问题。我有一个服务,它调用一个活动来执行一个操作。该活动被称为随机或预定义的时间段。
但是,每次调用活动时,RAM的使用量都会增加2-3MB。
这就是我如何从服务中调用活动,
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
callIntent.setClass(getBaseContext(),CustomDialog.class);
startActivity(callIntent);
很可能是因为您每次都在创建活动的新实例。使用FLAG_ACTIVITY_REORDER_TO_FRONT
而不是FLAG_ACTIVITY_NEW_TASK
,或者确保您的旧活动实例在某个时刻被销毁(例如,用户按BACK或您调用finish()
)。
欢迎您从DDMS获得堆转储,在MAT中对其进行检查,并具体确定问题所在。