【发布时间】:2017-11-10 07:13:55
【问题描述】:
我创建一个对象来管理活动。像这样:
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);
}
}
在这个例子中,静态对象持有活动的引用。
这是内存泄漏吗?
为什么在leakcanary中什么也没发生?
如果collection中的add-function会持有activity的引用?
【问题讨论】:
标签: java android memory-leaks