¿Vincular servicio a FragmentActivity o Fragment?

¿Es mejor enlazar servicio a FragmentActivity ?

 bindService(Intent, ServiceConnection, int); 

O al Fragment :

 getActivity().bindService(Intent, ServiceConnection, int); 

¿Qué es una mejor práctica?

One Solution collect form web for “¿Vincular servicio a FragmentActivity o Fragment?”

¿Es mejor enlazar servicio a FragmentActivity … o al FragmentActivity?

Son los mismos que los han escrito aquí. getActivity() no es un Fragment – es un método que devuelve la Activity . No se puede llamar a bindService() en un Fragment .

¿Qué es una mejor práctica?

Ninguno. Vincular al objeto Application , obtenido a través de getApplicationContext() , con la ServiceConnection administrada por (o tal vez realmente) un Fragment retenido.

La razón es cambios de configuración. Una vinculación es estado. Debe mantener ese estado en todos los cambios de configuración. Mientras un Fragment retenido puede mantenerse en ServiceConnection , hay un vínculo implícito en el sistema entre ServiceConnection y el Context que lo registró para un enlace. Dado que las actividades pueden ser destruidas y recreadas en los cambios de configuración, la Activity no es una buena opción de Context aquí. Application , que es sistema global, es una opción más segura, y uno de los pocos lugares donde la elección de la Application sobre otro Context es un movimiento inteligente IMHO.

Aquí hay un blog de la mía, de un tiempo antes de los fragmentos, que se mete en esto un poco más. Aquí hay un ejemplo de proyecto que demuestra la técnica.

  • DatePickerDialog onDateSet llamado cuando se gira
  • ¿Cómo puedo deshabilitar hacer clic en TabLayout en Android
  • ¿Cómo inyectar la dependencia al fragmento androide anidado?
  • NullPointerException al llamar a findViewById () para obtener la vista de un fragmento
  • ¿Cómo administrar los diálogos de pantalla completa en Android?
  • Android Espresso: ¿Cómo puedo probar un Fragmento específico al seguir una actividad a varios fragmentos de arquitectura
  • TabActivity -> Fragmentos .. ¿es realmente esto complicado?
  • Cómo deshabilitar el marcador de mapa android
  • Java.lang.IllegalStateException: Fragmento no adjunto a la actividad
  • ¿Mostrar el diálogo del fragmento?
  • TabLayout con ViewPager no funciona dentro de fragmento Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.