Android 如果是';如果保留的片段保留对它的引用,则会泄漏内存';s视图元素?
我有一个活动,在该活动中,我只有一个容器布局和一个具有自己布局的片段,并且已将retaininstance设置为true 第一次创建活动时,我将这个片段添加到容器中,片段有一个对片段布局的视图对象的引用(例如一个按钮)Android 如果是';如果保留的片段保留对它的引用,则会泄漏内存';s视图元素?,android,performance,android-fragments,Android,Performance,Android Fragments,我有一个活动,在该活动中,我只有一个容器布局和一个具有自己布局的片段,并且已将retaininstance设置为true 第一次创建活动时,我将这个片段添加到容器中,片段有一个对片段布局的视图对象的引用(例如一个按钮) 当发生配置更改时,是否会发生内存泄漏,我想知道View对象是否仍有对旧活动的引用?不要保留对旧资源的引用。有时您会发现它们会导致NullPointerException崩溃。相反,将必填字段设为静态方法(例如getFeild()),首先检查字段是否为null,然后初始化它,然后返
当发生配置更改时,是否会发生内存泄漏,我想知道View对象是否仍有对旧活动的引用?不要保留对旧资源的引用。有时您会发现它们会导致NullPointerException崩溃。相反,将必填字段设为静态方法(例如getFeild()),首先检查字段是否为null,然后初始化它,然后返回字段值 示例(错误) 好
不要保留对旧资源的引用。有时您会发现它们会导致NullPointerException崩溃。相反,将必填字段设为静态方法(例如getFeild()),首先检查字段是否为null,然后初始化它,然后返回字段值 示例(错误) 好
不要保留对旧资源的引用。有时您会发现它们会导致
NullPointerException
崩溃。相反,使用必填字段静态方法(例如getFeild()
),首先检查字段是否为空,然后初始化字段,然后返回字段值。不要保留对旧资源的引用。有时您会发现它们会导致NullPointerException
崩溃。相反,使用必需的字段静态
方法(例如getFeild()
),首先检查字段是否为空,然后初始化它,然后返回字段值.Bad。避免使用静力学。@NikolaDespotoski你能解释一下为什么它不好吗(第二种方法)?不好。避免使用静力学。@NikolaDespotoski你能解释一下为什么它不好吗(第二种方法)?
public class MainActivity extends Activity {
public SomeType myImportantObj;
}
...
//in another place
Object o = mainActivity.myImportantObj; // this could be null !!
public class MainActivity extends Activity {
}
public class SomeType {
private static SomeType instance;
public static SomeType getInstance() {
if (instance == null) instance = new SomeType();
return instance;
}
}
...
//in other place
Object o = SomeType.getInstance();