Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android new MyFragment()和MyFragment.newInstance()之间的性能差异?_Android_Android Fragments_Singleton_Fragment - Fatal编程技术网

Android new MyFragment()和MyFragment.newInstance()之间的性能差异?

Android new MyFragment()和MyFragment.newInstance()之间的性能差异?,android,android-fragments,singleton,fragment,Android,Android Fragments,Singleton,Fragment,在我的项目中,我通过使用new MyFragments()实现了一些片段并创建了它们的对象。我的一些片段只启动了一次(Singleton)。我应该使用MyFragment.newInstance()来代替那些只使用一次的new MyFragments()?这种方法会提高应用程序的某些性能吗?或者我应该继续使用我的旧方法newmyfragments()这里性能是我主要关心的问题。您应该使用MyFragment.newInstance()来启动类似以下内容的片段: OfferSingleFragme

在我的项目中,我通过使用
new MyFragments()
实现了一些片段并创建了它们的对象。我的一些片段只启动了一次(Singleton)。我应该使用
MyFragment.newInstance()
来代替那些只使用一次的
new MyFragments()
?这种方法会提高应用程序的某些性能吗?或者我应该继续使用我的旧方法
newmyfragments()
这里性能是我主要关心的问题。

您应该使用MyFragment.newInstance()来启动类似以下内容的片段:

OfferSingleFragment.newInstance(str);
在OfferSingleFragment中使用:

    public static OfferSingleFragment newInstance(String s) {
    OfferSingleFragment f =  new OfferSingleFragment();
       Bundle args = new Bundle();
        args.putString("name",s);
        f.setArguments(args);
    return f;
}
后来:

 String  str_title = getArguments().getString("name") ;
因为我看到使用newInstance方法的唯一好处是:

您将有一个单独的位置,可以将片段使用的所有参数捆绑在一起,而不必每次实例化片段时都在下面编写代码(如上所述)

这是告诉其他类它希望哪些参数能够忠实地工作的一种好方法(尽管如果片段实例中没有绑定任何参数,您应该能够处理这些情况)


因此,我认为使用newInstance静态方法实例化片段是一种很好的做法。

我已经说过:使用newInstance静态方法实例化片段是一种很好的做法。。这说明newInstance()的性能优于空构造函数。有关更多信息,请查看此链接:我没有任何参数通过我的片段,并且在片段中我必须有空构造函数(根据android文档)。因此,如果我使用的片段没有参数,那么为什么newInstance方式是更好的方式?我认为这是更多的开销。在这种情况下,您认为我应该使用什么?您可以使用newInstance空构造函数或带构造函数,它不会产生任何问题!!!!!