我这里有问题。 我有一个服务,它调用一个活动来执行一个动作。该活动被称为随机或预定义的时间段。
但每次调用活动时,RAM的使用量会增加2-3 MB。
这就是我从服务中调用活动的方式,
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
callIntent.setClass(getBaseContext(),CustomDialog.class);
startActivity(callIntent);
答案 0 :(得分:1)
最有可能的原因是,您每次都要创建活动的新实例。使用FLAG_ACTIVITY_REORDER_TO_FRONT
代替FLAG_ACTIVITY_NEW_TASK
,或确保您的旧活动实例在某些时候被销毁(例如,用户按BACK或您调用finish()
)。
欢迎您从DDMS获取堆转储,在MAT中检查它,并明确确定问题所在。