¿Java hace que las aplicaciones de Android sean lentas?

TL; DR – No.

Es raro que un idioma sea la razón principal detrás de un producto de software de bajo rendimiento.

Java no está ralentizando las aplicaciones de Android. La funcionalidad mal implementada es la razón principal para degradar el rendimiento de una aplicación.

  • No tener una comprensión funcional de los fundamentos de la memoria y el procesamiento y cómo administrarlos son los principales culpables de una mala experiencia de usuario. La cosa es que un recolector de basura solo puede hacer mucho.
  • No introducir pérdidas de memoria y retener ciclos es, en última instancia, el trabajo del desarrollador.
  • No actualizar todas las filas de mi tabla 439238 con la respuesta del servidor que acabas de recibir al mismo tiempo es un trabajo de desarrollador.
  • No obligar a mi dispositivo de gama baja a procesar transiciones de vista que solo probaste en el hardware más reciente y mejor es el trabajo de un desarrollador.
  • Respetar el límite estricto que Android impone al tamaño del montón para cada aplicación es, por supuesto, el trabajo de un desarrollador.

Esa lista puede continuar por bastante tiempo. La conclusión importante aquí es que puede tener una aplicación de bajo rendimiento en casi todas las plataformas móviles. Demonios, incluso la web se está inundando de sitios web / aplicaciones web deficientes y es relativamente más fácil no equivocarse allí, así que … no culpes a la herramienta. Culpa al creador.

Lo explicaré con la ayuda de la analogía.
Mira esta imagen :-

¿Qué es común en estos alimentos? Todos estos están hechos de harina de trigo: –

¿Cómo saben todos diferentes? ¿Cómo sabe un pastel mejor que otro?
¿Es solo por la harina de trigo? No necesariamente, el sabor depende de muchos factores como la cantidad de azúcar, la mantequilla utilizada, el sabor o su preferencia.

Lo mismo con las aplicaciones de Android, no es Java lo que hace que las aplicaciones de Android sean más lentas, sino otros factores como:

  • Limitaciones de hardware como batería, CPU, RAM
  • Limitaciones de software, como la versión de Android o el núcleo que se está utilizando.
  • Mal diseño o algoritmo incorrectamente seleccionado o implementado.
  • Uso intensivo de recursos limitados como gráficos, velocidad de internet, etc.

Estas son las razones que se me ocurren, podría haber más razones. Estos factores afectan el rendimiento de la aplicación, no el propio Java.

Para responder a esta pregunta, debe saber ¿Por qué se eligió Java para Android?

Estos puntos lo exponen para usted:

  1. Java es un lenguaje conocido, los desarrolladores lo saben y no tienen que aprenderlo.
  1. Hay una gran cantidad de desarrolladores que ya dominan Java.
  2. Java tiene un gran soporte de código abierto, con muchas bibliotecas y herramientas disponibles para facilitar la vida de los desarrolladores.
  • Es más difícil dispararse con Java que con el código C / C ++ ya que no tiene aritmética de puntero.
    1. Java lo protege de muchos de los problemas inherentes al código nativo, como pérdidas de memoria, mal uso del puntero, etc.
  • Se ejecuta en una máquina virtual, por lo que no es necesario volver a compilarlo para cada teléfono y es fácil de proteger.
    1. Ejecutar en una VM (por lo tanto, sin recompilar) es una gran ventaja. Además, separa fácilmente los procesos entre sí, evitando que una aplicación maliciosa destruya su teléfono o interfiera con otras aplicaciones.
  • Gran cantidad de herramientas de desarrollo para Java (ver punto 1).
  • Varios teléfonos móviles ya usaban Java ME, por lo que Java era conocido en la industria.
  • La diferencia de velocidad no es un problema para la mayoría de las aplicaciones; si fuera así, debe codificar en lenguaje de bajo nivel.
    1. La velocidad ya no es un argumento relevante, los procesadores de teléfonos celulares (CPU + memoria) son mucho más ahora que hace años … ¡¡mi teléfono tiene más memoria que uno de nuestros servidores en producción !! Los compiladores JIT son tan rápidos como los nativos … ¿por qué la gente todavía se preocupa por la velocidad aquí? ¡Ya no vivimos en la década de 1960, donde las máquinas solo tienen memoria de 4Kb! . Entonces, las CPU tienen suficiente potencia para compilar código muy rápido, y Java es muy bueno para esto.

    Y espero que hayas respondido a tu pregunta.

    Referido:

    ¿Por qué Google eligió Java para el sistema operativo Android?

    ¿Por qué Android usa Java?

    ¿Por qué Google eligió Java como el lenguaje de programación de Android y no Python o algo más?

    ¿Por qué Google eligió Java como el principal entorno de desarrollo de aplicaciones para Android?

    La historia real de Java y Android, según lo contado por Google | ZDNet

    No , no lo hace!

    Puede haber muchas razones por las cuales una aplicación funciona lentamente. Algunos de ellos son los siguientes:

    1. Hay muchas aplicaciones que requieren un alto uso de RAM y si está utilizando la aplicación en un dispositivo de gama baja, su experiencia siempre será peor.
    2. Hay muchos problemas de rendimiento que los desarrolladores aficionados / principiantes no tienen en cuenta. Por ejemplo, el problema de sobregiro que los desarrolladores pueden tener sin saberlo al hacer diseños complejos.
    3. Escribir código ineficiente. Hay dos reglas básicas para escribir código eficiente:
      • No hagas un trabajo que no necesitas hacer.
      • No asigne memoria si puede evitarlo.

      Por lo tanto, evite crear objetos innecesarios.

      Para obtener más detalles sobre cómo solucionar problemas de rendimiento, consulte este enlace.

      More Interesting

      ¿Debo trabajar en el desarrollo de Android o el desarrollo web?

      ¿Cuál es el mejor sitio web para descargar paquetes de iconos para aplicaciones de Android?

      ¿Hay otras aplicaciones de Android como la cámara de Google para capturar fotos de 360 ​​grados?

      Necesito distribuir una versión beta de una aplicación de Android / iOS en una sala llena de personas. ¿Cómo puedo hacer eso?

      ¿Cuál es la mejor aplicación de Android Reddit, si no necesariamente la mejor, y por qué?

      ¿Por qué debería cambiar a Kotlin desde Java para el desarrollo de Android?

      ¿Qué tan fácil es aprender el desarrollo de aplicaciones de Android desde cero? Estoy planeando lanzar una startup móvil. ¿Debería ser realista y obtener un cofundador técnico, incluso para un MVP, o debería seguir adelante y aprender el desarrollo de aplicaciones, crear un MVP y luego un equipo?

      ¿Puede Google realizar un seguimiento de todas las aplicaciones que instala en su teléfono para que, cuando lo pierda, pueda restaurar su configuración muy fácilmente?

      Cómo actualizar un dispositivo Android

      Cómo convertir un archivo .vcf en una matriz de bytes en mi aplicación de Android

      WhatsApp: Realmente odio esta característica de WhatsApp. ¿Cómo puedo desactivar esto?

      ¿Qué habilidad debo saber para desarrollar una aplicación de Android?

      ¿La actualización de la aplicación afecta la descarga de la aplicación?

      ¿Cuáles son las empresas de desarrollo de aplicaciones de Android más baratas en Pune?

      Cómo transferir datos de Android a iPhone 7