¿Puedes explicar por qué suport v4 y v7 en android

Estaba comprobando la biblioteca de soporte para Android, pero no puedo entender por qué se divide en v4 y v7?

¿Por qué no utilizar una biblioteca de soporte para todas las versiones? O incluso todas las clases de soporte, estar en SDK correctamente?

Pero no puedo entender por qué se divide en v4 y v7?

No están "divididos en v4 y v7". Están divididos a lo largo de líneas funcionales. Hay muchas piezas del paquete de soporte de Android, tales como:

compile 'com.android.support:appcompat-v7:21.0.0' compile 'com.android.support:cardview-v7:21.0.0' compile 'com.android.support:gridlayout-v7:21.0.0' compile 'com.android.support:leanback-v17:21.0.0' compile 'com.android.support:mediarouter-v7:21.0.0' compile 'com.android.support:palette-v7:21.0.0' compile 'com.android.support:recyclerview-v7:21.0.0' compile 'com.android.support:support-annotations:21.0.0' compile 'com.android.support:support-v13:21.0.0' compile 'com.android.support:support-v4:21.0.0' 

Los únicos de estos que son reemplazos para el otro son support-v4 y support-v13 . support-v13 contiene todo lo que está en support-v4 , además de algunas clases adicionales que sólo son relevantes para dispositivos que ejecutan API de nivel 13 o superior.

La notación -vNN en el nombre del artefacto es sólo para ayudar a recordarle a qué nivel de API de Android se encuentra el código en esa biblioteca.

¿Por qué no utilizar una biblioteca de soporte para todas las versiones?

Por la misma razón que no compila en cada línea de código jamás escrita en la historia humana: no la necesitamos. appcompat-v7 es una biblioteca independiente de leanback-v17 , por ejemplo – que están relacionados como están a una de mis bibliotecas.

O incluso todas las clases de soporte, estar en SDK correctamente?

En algunos casos, es porque no hemos inventado una máquina del tiempo todavía, y por lo tanto no podemos "retcon" versiones anteriores de Android para tener diferentes clases y métodos. Por ejemplo, parte de la razón por la que appcompat-v7 existe es permitir que el patrón de barras de acción se use en dispositivos que vuelvan al nivel 7 de API; La barra de acción nativa sólo apareció en el API Nivel 11.

También hay presión de los fabricantes para mantener el tamaño del sistema operativo reducido, especialmente las clases de framework, para reducir la cantidad de RAM y almacenamiento flash necesarios para construir un dispositivo Android. Por lo tanto, algunas cosas (por ejemplo, leanback-v17 , para las experiencias de estilo Android TV) no forman parte del sistema operativo, ya que no son necesarias en todas partes.

Además, al tener cosas en las bibliotecas, su aplicación es más independiente del dispositivo subyacente. Por ejemplo, algunos desarrolladores utilizarán el backport de fragmentos en support-v4 o support-v13 , no porque quieran ejecutar en dispositivos anteriores a API Level 11 (cuando se introdujeron fragmentos nativos), sino porque quieren una implementación de fragmentos que Funciona de la misma manera en todas las versiones de Android. La implementación de fragmentos nativos variará según la versión de Android OS.

V4 es compatible todo el camino de vuelta a la versión 4 de Android. V7 es compatible de nuevo a v7. Como el Android SDK v4 es más limitado, es más difícil de llevar algunas cosas de vuelta a (y algunas cosas pueden no ser posible volver a ese puerto, pero puede ser posible para el puerto de 7). Google decidió que la dificultad añadida no valía la pena, ya que v4 es antiguo (su menos del 1% de los dispositivos activos).

En realidad hay más versiones que las bibliotecas de soporte v8, v11 y v13 existen, son menos comunes de usar.

  • Uso del diálogo compartido en Android Facebook SDK. ¿Cómo saber si el usuario comparte o cancela la actividad compartida?
  • Java.lang.RuntimeException: Error al entregar el resultado ResultInfo mientras se registra usando Facebook
  • Autenticación de Android facebook
  • Aplicación para Android Facebook SDK 4.0 sin Facebook
  • Problema de sesión de Android Facebook
  • Cómo enviar aplicaciones fb app como Kiwi App
  • ProfilePictureView to Bitmap (SDK de Facebook para Android v3)
  • Token de acceso eliminado en Facebook Android SDK 4.0
  • Recursos $ NotFoundException se lanza integrando Facebook-android-sdk-3.0
  • Facebook Android SDK, UiLifecycleHelper Error de StackOverflow
  • El contenido de Dialog de Android Facebook Share no se muestra en la página principal
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.