2011-07-13 11 views
5

Estoy tratando de comprender el impacto en el rendimiento de usar un HashMap frente a un Bundle en un programa de Android. Entiendo que un Bundle es un componente especializado de Android, por lo tanto, es superior a HashMap si se necesita simplemente almacenar tipos de datos básicos (Integer s, String s etc.) y no objetos complejos?Hashmap vs Bundle en Android Comparación de eficacia y rendimiento

+3

Esto podría ayudarlo. http://stackoverflow.com/questions/6236751/android-what-is-the-difference-between-bundle-vs-java-util-collections-like-has – VenoM

Respuesta

1

Bundle s en realidad se basan en ArrayMap s, que son implementaciones de Map s con uso eficiente de la memoria. Para los ArrayMap s más pequeños, una búsqueda requiere menos tiempo de cálculo que el cálculo del hash para un HashMap con una población similar. Pero si tiene más de unos cientos artículos, el HashMap tendrá un mejor rendimiento.

Además, Bundle s no fueron diseñados para ser estructuras de datos de propósito general.

0

Bundle permite introducir String, integer, boolean, etc., pero un HashMap solo permite cadenas, para otros tiene que convertirlos a/desde objetos.

Una diferencia más es que con un paquete, cada objeto que contiene es parcelable. Esto permite que los paquetes se utilicen como parámetros de servicio y que se adjunten a intentos o fragmentos para pasarlos a actividades o fragmentos.

Cuestiones relacionadas