Desarrollo de Android durante cinco años, comparta algo de experiencia en la industria

Desarrollo de Android durante cinco años, comparta algo de experiencia en la industria

1. Android no es genial, pero es más difícil de mezclar que antes

Hace siete años, Android surgió repentinamente y se convirtió en un nuevo mercado de un billón de niveles. Incontables pepitas llegaron con la esperanza de mostrar sus puños.

En ese momento, en el círculo de los juegos móviles en el gran entorno, siempre que tuvieras un Lianliankan capaz de correr, podías encontrar un trabajo, y la ola en la pista te empujaba hacia adelante, y la industria no era brillante.

Se acerca 2020, la velocidad de las olas se ha ralentizado y el mensaje de Android malo está volando por todo el cielo. "Genial" es la palabra más común.

Pero tenga la seguridad de que Android es realmente genial.

Comenzar con Android es relativamente simple. Hay muchos y muchos Androides elementales, que se están acercando a la saturación. Puede abrir una aplicación de reclutamiento a voluntad para juzgarla intuitivamente. Ahora las condiciones para el acceso a Android son cada vez más altas.

Cuando los estándares de una industria son cada vez más altos y las cosas básicas se vuelven cada vez más estables, esto no se llama cool o maduro.

Desarrollo de Android durante cinco años, comparta algo de experiencia en la industria

2. Otro campo de batalla

La razón del declive del desarrollo actual de Android es que el desarrollo de aplicaciones básicas ha sido reemplazado por programas pequeños y interfaces multiplataforma. Por el momento, las cosas de nivel superior se quedan tranquilas. Si cambiamos nuestro enfoque, tenemos otro campo de batalla.

La caja de TV no requiere rendimiento aquí, pero la mayor parte de la interfaz principal usa el marco de implementación nativo, que gira en torno al desarrollo de un Launcher, por lo que aquellos que tienen computadoras de escritorio ingresarán a este campo.

El Internet de las cosas y la red de vehículos conectan el front-end y el back-end. En gran medida, se presenta el equipo web. Al mismo tiempo, recluta varios sistemas de personalización y coordinación con personal de investigación y desarrollo de sistemas y diseño de marcos.

La adaptación del sistema es el uso de la ola anterior de desarrollo y trasplante integrados. Al mismo tiempo, el sistema puede resolver el problema de la conexión desde el controlador inferior a la capa de aplicación.

Desarrollo de Android durante cinco años, comparta algo de experiencia en la industria

3. Nuevas tecnologías a las que se prestará atención este año

A) Kotlin: la principal ventaja de Kotlin es la interoperabilidad total con Java, lo que significa que los desarrolladores pueden migrar el código antiguo tanto como sea posible sin tener que reescribir completamente la aplicación completa.

B) Jetpack: primer lugar que ahorra tiempo

4. Android Studio es increíble

Funciones comunes:

El simulador de dispositivos puede probar aplicaciones en diferentes dispositivos y varias versiones de Android.

El analizador de PK de Android puede analizar el tamaño del programa detectando el tamaño del APK.

Los analizadores de perfiles en tiempo real pueden realizar análisis estadísticos en tiempo real sobre el uso de la CPU, la memoria y la red.

Firebase Assistant puede conectar una aplicación con él, y todos los servicios de Firebase se pueden agregar en solo unos pocos pasos.

Vector Asset Studio puede ayudar a crear una nueva imagen de mapa de bits para cada densidad (la densidad se refiere al espacio disponible para almacenar datos en el disco).

Desarrollo de Android durante cinco años, comparta algo de experiencia en la industria

5. Mantra de cuatro caracteres

Es importante tener hambre y siempre es bueno seguir aprendiendo.

La tasa de metabolismo de toda la industria es muy rápida. ¿No sería posible esperar a que el joven de 35 años estuviera "optimizado" si no aumentara su energía? Vamos, sube con un sueldo anual de un millón, y baja, pero el panorama de la tarde es desolador, la primaria está saturada, pasaremos al nivel avanzado, qué nos sigue preocupando cuando lleguemos a la punta del ¿pirámide?

Cómo mejorar

He estado haciendo el desarrollo de Android por mí mismo en el quinto año. En el segundo año después de la graduación, tuve la suerte de unirme a la gran familia de ByteDance. En los 4 años de Byte, he sido testigo de demasiadas personas yendo y viniendo, y estoy profundamente impresionado por un colega que cambió de trabajo a Ali y duplicó su salario directamente, pero también vi a muchas personas chocar contra la pared con chapados en oro. "gran fábrica" ​​¡Técnicamente!

Yo mismo puedo ser considerado un ejemplo exitoso. Logré 2-2 de 1-1 en 4 años. Por supuesto, las "lágrimas de dolor" detrás de esto se discutirán más adelante. En general, gracias a mi aprendizaje continuo, repaso y resumen, ¡y mejora mis habilidades! Permítanme compartir mi ruta de estudio específica y mis notas de los últimos 4 años, ¡con la esperanza de ayudar a los amigos que estén interesados ​​en mejorar la tecnología!

  • Habilidades esenciales para arquitectos

En la actualidad, el lenguaje principal para el desarrollo de aplicaciones de Android es el lenguaje Java. La característica más importante del lenguaje Java es aumentar la posibilidad de interacción del software. Se puede decir que casi todas las aplicaciones en los teléfonos Android están escritas en el lenguaje Java.

Puntos de conocimiento:
1. Comprensión profunda de los genéricos de Java
2. Explicación detallada de las explicaciones
3. Programación concurrente
4. Transmisión y serialización de datos
5. Principios de la máquina virtual Java
6. E / S eficiente

Habilidades esenciales para arquitectos

  • Interpretación del marco de código abierto para el pensamiento de diseño

Con el desarrollo continuo de las empresas de Internet, hay cada vez más módulos en los proyectos de productos y los requisitos de experiencia del usuario son cada vez más altos. Cada vez es más difícil lograr el propósito de pequeños pasos e iteraciones rápidas, y la aplicación de Nace la tecnología plug-in. Si no hay tecnología de complemento, las aplicaciones que integran una gran cantidad de "aplicaciones" como Meituan y Taobao pueden ser tan grandes como unos pocos g.

Por lo tanto, el desarrollo móvil de Android de hoy no se arreglará en caliente, se conectará o se compondrá, y más del 80% de las entrevistas no se aprobarán.

Puntos de conocimiento:
1. Diseño de hotfix
2. Diseño de marco de plug-in
3. Diseño de marco de componentes
4. Marco de carga de imágenes
5. Diseño de marco de acceso a la red
6. Diseño de marco de programación receptiva RXJava

Interpretación del marco de código abierto para el pensamiento de diseño

  • Ajuste de rendimiento completo de 360 ​​°

En manos de ingenieros de desarrollo en diferentes niveles, debido al nivel técnico desigual, incluso si muchos teléfonos móviles se ejecutan con un rendimiento de software muy alto, todavía habrá un retraso al abrir aplicaciones.

Además, con la iteración del contenido del producto, las funciones se vuelven cada vez más complejas y las páginas de la interfaz de usuario se vuelven cada vez más abundantes, lo que también se convierte en un obstáculo para el buen funcionamiento. En resumen, la optimización del rendimiento de la aplicación se ha convertido en una calidad integral que los desarrolladores deberían tener, y también es una garantía para que los desarrolladores completen trabajos de aplicaciones de alta calidad.

1. Ideas de diseño y optimización de la calidad del código

2. Optimización del rendimiento del programa

  • Optimización de la velocidad de arranque y la eficiencia de ejecución
  • Detección y optimización del diseño
  • Optimización de la memoria
  • Optimización del consumo de energía
  • Optimización de la transmisión de la red y del almacenamiento de datos
  • Optimización del tamaño de APK

3. Optimización de la eficiencia del desarrollo

  • Sistema de control de versiones distribuido Git
  • Sistema de construcción automatizado Gradle

4. Proyecto de combate real

  • Velocidad de inicio
  • Fluidez
  • La práctica de la optimización de recursos del tamaño del paquete APK de Douyin
  • Análisis completo de la tecnología de diseño receptivo de Youku
  • Optimización de la red
  • Revelando el secreto del proyecto de optimización del rendimiento en Taobao Double Eleven
  • Análisis de la dependencia del código fuente del enlace completo de la APLICACIÓN AutoNavi
  • Compartir la experiencia de combate real para matar completamente a OOM
  • Práctica de optimización de memoria de terminal Android WeChat

Ajuste de rendimiento completo de 360 ​​°

  • Arquitectura del marco de Android

Arquitectura de marco de Android (UI avanzada + código fuente FrameWork) Este conocimiento es actualmente el más utilizado por los usuarios, y lo llamamos la tecnología de Android de 2013 a 2016.

Los desarrolladores de Android a menudo están familiarizados y no están familiarizados con este código de uso frecuente porque están acostumbrados a copiar código en Internet: lo familiar es tratar con ellos casi todos los días y copiar el código todos los días; lo desconocido es que aunque con estos códigos Todos los días Lidiando con códigos, pero no he estudiado los principios de estos códigos en profundidad y las connotaciones en la profundidad de los códigos.

Puntos clave de este artículo:
1. Promoción avanzada de UI
2. Componentes del kernel de Android
3. IPC esencial para grandes proyectos
4. Persistencia y serialización de datos
5. Análisis del kernel del marco

Arquitectura del marco de Android

  • Desarrollo de módulos NDK (series de audio y video)

NDK (abreviatura de Native Development Kit) es un kit de desarrollo de software basado en una interfaz de programación nativa que le permite utilizar código C y C ++ en aplicaciones de Android. El programa desarrollado por esta herramienta se ejecuta directamente de forma local, no una máquina virtual.

En Android, NDK es una colección de una serie de herramientas, que se utilizan principalmente para ampliar el SDK de Android. NDK proporciona una serie de herramientas para ayudar a los desarrolladores a desarrollar rápidamente bibliotecas dinámicas C o C ++, y pueden empaquetar automáticamente estas y aplicaciones Java en un apk.

Puntos de conocimiento en este artículo:
1. Introducción a C / C ++ desarrollado por NDK
2. Desarrollo de módulos JNI
3. Programación Linux
4. Procesamiento de imágenes de bajo nivel
5. Desarrollo de audio y video
6. Aprendizaje automático

Desarrollo del módulo NDK

  • Aprendizaje avanzado de Flutter

2019 es sin duda un año en el que la tecnología Flutter está en pleno apogeo.

Todo desarrollador móvil está loco por las características y conceptos de "desarrollo rápido, interfaz de usuario expresiva y flexible, rendimiento nativo" que ofrece Flutter, desde superaplicaciones hasta aplicaciones independientes, desde Flutter puro hasta pilas híbridas, desarrolladores Estamos entusiasmados con explorar y aplicar Flutter tecnología en diferentes escenarios, y también nos enfrentamos a una variedad de diferentes desafíos.

Puntos clave de este artículo:
1. Descripción general del desarrollo multiplataforma de
Flutter 2. Construcción del entorno de desarrollo de Flutter en Windows
3. Escribiendo su primera aplicación de Flutter
4. Empezando

con el sistema de lenguaje Flutter Dart ...

Aprendizaje aleteo

  • Desarrollo de applets de WeChat

Como uno de los escenarios de aplicaciones de desarrollo de programación más populares, los applets de WeChat son muy populares en el mercado, lo que hace que muchos desarrolladores sean codiciosos. Pero para los principiantes, está completamente perdido. No sé qué conocimientos se deben aprender en el desarrollo y producción de los applets de WeChat. Los amigos que lo necesiten pueden consultar este artículo.

Los principales puntos de conocimiento en este artículo:
1. Descripción general e introducción del
applet 2. Desarrollo de la interfaz de usuario del applet
3. Funcionamiento de la API
4. Combate práctico de proyectos de centros comerciales

Desarrollo de applets de WeChat

  • Interpretación del código fuente relacionado con Android
    Siempre que sea un programador, ya sea Java o Android, si no lee el código fuente y solo mira la documentación de la API, permanecerá en la piel. Esto no es bueno para el establecimiento y la integridad de nuestro sistema de conocimiento y la mejora de la tecnología de combate actual.

Interpretación del código fuente relacionado con Android

Interpretación de parte del código fuente relacionado con Android

Por razones de espacio, si necesita el pdf de notas de estudio completo anterior, puede dar me gusta + soporte de comentarios, ¡ haga clic aquí para recogerlo gratis !

Supongo que te gusta

Origin blog.csdn.net/m0_46657043/article/details/113604794
Recomendado
Clasificación