Rendimiento de la clase de la clase estática vs no estática de la clase estática de Android
He creado una clase que era estática primero, esta clase no persiste el estado (no guarda el contexto ni ninguna variable) es apenas una lista de funciones. Pero la clase no es muy utilizada en la aplicación, así que decidí hacer la clase instantiable.
¿Por qué?
- Carga el sonido de la memoria en Android
- Android - BitmapFactory.decodeByteArray - OutOfMemoryError (OOM)
- ¿Por qué la aplicación y sus recursos se guardan en la memoria después de salir de Android?
- Cómo tomar instantánea de montón de Xamarin.Android's Mono VM?
- Android: Abrir archivo .hprof En Eclipse
Porque pienso que una clase instantiable usaría menos memoria porque no está disponible durante el ciclo de vida entero de la aplicación.
¿Es esto correcto?
Una clase estática utiliza más memoria que una clase no estática?
Gracias
- Detectar tamaño de montón de aplicaciones en Android
- Comprimir mapa de bits de la cámara
- Cómo corregir este error: java.lang.OutOfMemoryError
- Suspected memory leak
- MAT que identifica una fuga en los elementos de IU que no creé
- Android deallocate Bitmaps en la memoria "desconocida"
- Recursos de Android: ¿Cómo se cargan los mapas de bits de los recursos manejados en cuanto a memoria?
- Xamarin pérdida de memoria Android con actividad simple
Creo que has entendido mal cómo funcionan las clases. Cualquier clase de clase está "disponible" durante toda la vida de la aplicación. La memoria utilizada para la clase en sí (los métodos, etc) es muy diferente a la memoria utilizada por las instancias . A menos que realmente crear una instancia de la clase, es irrelevante. E incluso las clases estáticas pueden ser instanciadas – es sólo que no mantienen una referencia implícita a una instancia de la clase de inclusión.
Si su clase realmente no requiere una referencia implícita (es decir, no la usa), entonces hágale una clase anidada estática – o tire de ella como una clase de nivel superior de todos modos. (Las clases anidadas pueden ser un dolor a veces – las reglas alrededor de las clases de nivel superior son más simples.)
Una clase estática como tal no utiliza más memoria que una no estática. Todas las clases están siempre disponibles en una aplicación – siempre se puede utilizar una clase estática o crear una instancia de una no estática.
Si sólo tiene métodos en su clase (que son de tipos de métodos auxiliares), una clase estática es más conveniente de usar (no es necesario crear una instancia) y no afectará el uso de la memoria.