没有UI的Fragment的用例是什么?

Chr*_*ght 42 android android-fragments

Android开发人员指南中有一个关于Fragments使用的不错的部分.使用Fragments的一种方法是没有UI.有一些参考使用它作为后台处理的一种手段,但碎片带给这个领域的优势是什么?在哪里可以选择使用Fragment over Threads,AsyncTasks,Handlers等进行后台处理?

Kar*_*uri 45

Fragment实例可以通过设备配置改变(如屏幕旋转)依然存在.因为Activity在发生配置更改时将销毁并重新创建,所以很难设计一个能跟踪线程或AsyncTask.另一方面,系统负责在配置改变的另一端(可以这么说)重新附加持久Fragment到适当Activity的配置.你仍然会使用一个线程,或者AsyncTask现在Fragment只是持有它.

它可能还有其他用途,但我能想到的就是它.

  • 应该在````app`Service````下运行异步任务,以确保在重新创建时不重新提交同步任务.我们使用没有UI的片段作为"控制器"从其他片段中拾取消息(广播)并修改子控件.它提供了良好的分离水平,而且不会污染父活动代码,从而确保可移植性和模块化......使用````Fragment````时,其中一个最大的胜利. (23认同)
  • 更不用说您还需要使用setRetainInstance方法。 (2认同)

Gre*_*nis 12

我有一大堆相当复杂的代码来处理各种社交网络的登录 - facebook,google,twitter.这是我需要在不同活动中重复使用的代码,因为用户可以从应用程序中的不同位置登录.它不属于基本活动类,因为您只能从一个类继承而我将该继承用于其他不相关的功能.

一个无ui片段非常适合我的情况,片段非常适合需要,因为我需要生命周期回调,例如(facebook在这方面是臭名昭着的,例如需要onActivityResult等).