在android中实例化和初始化对象的正确方法

我的
android项目中有几个包含许多类的包.当我想在UI活动中创建某个类的对象时,我使用了一种创建私有对象的方法,并在onCreate()方法之前将其初始化,其中UI活动位于单独的包中.

private SomeClass someClass = new SomeClass();

onCreate(Bundle savedInstanceState) {
   // Activity
}

我注意到我的高级程序员使用另一种方法,他们在onCreate()之前声明对象,并在需要对象时初始化它.
有什么区别并建议我最好的方法?如果我在这里做错事,我想让自己纠正.

最佳答案 我通常更喜欢第二种方法,因为只有在需要时才会创建对象.在第一种方法中,您将创建一个单例对象.该对象甚至在需要之前就会占用内存.

我更喜欢第二种方法的一些情况是:

>如果将从活动的不同部分使用相同的对象.因此,您不希望每次在使用之前检查null是否需要干净的代码并且您想要更清晰的代码.
>如果该类的单个公共对象不会改变.通常你会把它变成静态的.很好的例子是:
String LOG_TAG = MyActivity.class.getSimpleName();
>如果对象将在您的活动中频繁使用.例如,对于经常与服务器进行通信的活动,您应该创建以这种方式进行通信的类的对象.另外一个例子是

如果该对象将在该类的某些部分中使用,则应考虑在该类中声明它.

点赞