我在接受采访,下面的问题是什么?
我可以假设这是一个问题,你不能检查一个类是否为空,对吧?!
谢谢!

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();
        }
    }
}

最佳答案

内部类不是静态的,这可能会导致它在仍有对其引用的情况下超过活动。这可能会导致活动泄漏。
本文更深入地解释了这个问题:
http://www.androiddesignpatterns.com/2013/01/inner-class-handler-memory-leak.html

10-06 07:18