我猜测非UI片段的主要目的是存储在配置更改后保留的数据,对吗?因此,除了这种存储特定于拥有此片段的Activity之外,与整个应用程序中的Singleton模式相比,使用它的好处是什么?(这是我迄今为止一直在使用的解决方案)
我猜测非UI片段的主要目的是存储在配置更改后保留的数据,对吗?因此,除了这种存储特定于拥有此片段的Activity之外,与整个应用程序中的Singleton模式相比,使用它的好处是什么?(这是我迄今为止一直在使用的解决方案)
一个片段(Fragment)仅被其活动(Activity)作用范围所限制,这意味着长期内存泄漏的可能性较小,相对于单例模式--片段将最终被垃圾回收,而单例模式则不会。
此外,你还可以更好地控制时间。应用程序(Application)是在应用程序中任何内容提供者(ContentProviders)之后创建的,你对此没有选择权。相反,你可以控制片段何时创建,因此可能能够利用该控制。
因此,对于仅由一个活动需要数据的地方,非UI片段可能比单例模式更好的选择。单例模式适用于在多个组件之间需要使用的数据。