我创建了一个管理活动的对象。像这样:
public class ActivityManager {
private static ActivityManager instance;
private static Stack<Activity> activityStack;
public void addActivity(Activity activity) {
activityStack.add(activity);
}
}
我在BaseActivity中使用它:
public class BaseActivity extends AppCompatActivity {
protected String TAG = "BaseActivity";
protected ActivityManager mActivityManger;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mActivityManger = ActivityManager.getInstance();
mActivityManger.addActivity(this);
}
}
在这个例子中,静态对象持有活动的引用。
这是内存泄漏吗?
泄密事件中为什么没有发生?
如果集合中的add-function将包含活动的引用?
答案 0 :(得分:0)
尝试故意泄漏某些内容,例如将启动器活动实例分配给静态字段。
或者尝试按回来,我相信这会在Activity被销毁后触发泄漏(并且会出现吐司),LeakCanary会检测它是否泄漏。
或尝试将here推荐给另一个样本