¿Qué es más rápido? Una intent.putExtras (Bundle con cadenas) o muchos intent.putExtra (String)?

¿Qué es más rápido? ¿Agregar un montón de valores de cadena a un bundle y luego agregarlo a una intent ? ¿O simplemente agregar los valores a una intent usando intent.putExtra() ? ¿O no hace mucha diferencia?

Una búsqueda de Google me dio tutoriales, pero no mucho de una respuesta. Sólo pregunta por curiosidad, preguntándose si afectaría el rendimiento para usar uno u otro. Esto se acercó, pero no responde a lo que me gustaría saber.

Creando el Bundle por su cuenta y luego agregar que a una intención debe ser más rápido.

Según el código fuente , el Intent.putExtra(String, String) tiene este aspecto:

 public Intent putExtra(String name, String value) { if (mExtras == null) { mExtras = new Bundle(); } mExtras.putString(name, value); return this; } 

Por lo tanto, siempre verificará si Bundle mExtras ya se ha creado. Es por eso que es probablemente un poco más lento con gran secuencia de adiciones de la secuencia. Intent.putExtras(Bundle) tiene este aspecto:

 public Intent putExtras(Bundle extras) { if (mExtras == null) { mExtras = new Bundle(); } mExtras.putAll(extras); return this; } 

Por lo tanto, comprobará if (mExtras == null) sólo una vez y más tarde agregue todos los valores al Bundle mExtras interno Bundle mExtras con Bundle.putAll() :

 public void putAll(Bundle map) { unparcel(); map.unparcel(); mMap.putAll(map.mMap); // fd state is now known if and only if both bundles already knew mHasFds |= map.mHasFds; mFdsKnown = mFdsKnown && map.mFdsKnown; } 

Bundle está respaldado por un Map ( HashMap para ser más preciso), por lo que agregar todas las cadenas a la vez a este mapa también debería ser más rápido que añadir cadenas una por una.

  • ¿Es una buena idea escribir juegos para móviles en ActionScript3 en lugar de Java / Objective-C?
  • Desventajas en Multidexing la aplicación de Android
  • Sqlite3 tabla con límite máximo de líneas (por elección) eficiencia
  • Timertask o manejador
  • El desplazamiento de grandes listas de adaptadores basados ​​en Cursor es más rápido que las listas mucho más pequeñas de adaptadores en memoria
  • ¿Cuáles son los posibles problemas de rendimiento en el uso de python over java para el desarrollo de aplicaciones para Android?
  • ¿Por qué ViewPager y GridLayout con 30 elementos son muy lentos?
  • Vista de desplazamiento en dos direcciones (en diagonal) como en la aplicación Google Sheets de Google android
  • Cómo mejorar el rendimiento de la representación de ping-pong (para desenfoque) en OpenGL ES
  • ¿Alguna manera alrededor del funcionamiento terrible de SecretKeyFactory con LVL y AESObfuscator?
  • Android Ver animación - bajo rendimiento en pantallas grandes
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.