android - 面试——安卓代码

标签 android

我一直在面试,下面应该有什么问题?

我可以假设这是您无法检查类是否为空的问题,对吗?! 谢谢!

public class NiceActivity extends Activity {

    private static AmazingClass a;

    class AmazingClass {
        int x;
        int y;
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_nice);
        if (a == null) {
            a = new AmazingClass();
        }
    }
}

最佳答案

内部类不是静态的,这可能会导致它在 Activity 之后仍然存在,但仍然有对它的引用。这可能会导致 Activity 泄漏。

这篇文章更深入地解释了这个问题: http://www.androiddesignpatterns.com/2013/01/inner-class-handler-memory-leak.html

关于android - 面试——安卓代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30461356/

相关文章:

java - 如何在android studio中从firebase检索多个子节点

c# - 更改链接到 ListView 中所选项目的文本框中的值后,数据库中的表未更新

android - 未能传递结果 ResultInfo android

android - 从 MAIN 再次启动应用程序并清除 Activity 堆栈

android - MaterialComponents.TextInputLayout.OutlinedBox 它不能正常工作 boxBackgroundColor

java - 如何从 reader.readLine() 返回的字符串中删除 unicode 空格

android - 关于 dalvik 初始堆大小

Android listview图片加载问题

Android 应用程序开始使用 cordova-webintent 更新并强制停止

android - Android Span 上下文中的标记对象是什么?