¿Por qué es importante el marco de aplicación del marco?
Si haces un diagrama de marco, es así: Este es solo un diagrama de marco simple, pero en realidad tiene muchas ramas.
Muchas grandes empresas tendrán muchas preguntas técnicas durante las entrevistas. Este es un tema esencial para los programadores.
Por ejemplo:
1. ¿Cuáles son los métodos de comunicación multiproceso en Android?
2. ¿Qué utilizas para la comunicación de procesos? ¿Cuál es el principio? (ByteDance, Xiaomi)
3. ¿Describe el principio del mecanismo de carpeta? (Titulares orientales)
¿Cuál es el flujo de trabajo de 4.4. ¿Grupo de hilos de carpeta? (Titulares orientales)
¿Cómo surgió el número 5.5? ¿El controlador se comunica con el hilo? ¿Cuál es el principio? (Titulares orientales)
6. Si el controlador no procesa mensajes, ¿es bloqueante o no bloqueante? (ByteDance, Xiaomi)
7.handler.post (ejecutable) ¿Cómo se ejecuta ejecutable? (ByteDance, Xiaomi)
8. La devolución de llamada del controlador y el handleMessage existen, pero ¿la devolución de llamada devolverá el verdadero handleMessage? (Bytedance, Xiaomi)
¿Cuál es la diferencia entre 9.sendMessage y postDelay de 9? ¿Entrenador de animales? (ByteDance)
¿Qué es 10? ¿Manejador inactivo? ¿Cómo usarlo y qué problemas puede solucionar?
11.¿Por qué Looper.loop no bloquea el hilo principal? (Tencent)
12. ¿Por qué Looper realiza un bucle infinito sin ANR (Bilibili)?
13. ¿Cómo crear un looper en un hilo secundario? (ByteDance, Xiaomi)
14. La relación entre agujas curvas, procesadores y cables. Por ejemplo, ¿cuántos loopers puede tener un cable y a cuántos procesadores puede corresponder? (ByteDance, Xiaomi)
15. ¿Por qué los subprocesos secundarios no pueden actualizar la interfaz de usuario? (Meituan)
El principio de 16. ¿ThreadLocal y su aplicación en Looper? (ByteDance, Xiaomi)
17. ¿Cómo almacena datos Android?
18. Principio de SharedPreference, ¿cuál es la diferencia entre confirmar y aplicar? ¿A qué debes prestar atención al usarlo? (Tencent)
19. ¿Cómo determinar si una aplicación es front o backend?
20. ¿Cómo mantener viva la aplicación?
21. ¿Cuál es el tamaño de una imagen de 100x100 en la memoria? (ByteDance)
22. El principio y la función de la intención, ¿qué tipos de parámetros se pueden pasar?
Luego se ampliará a detalles de conocimiento más profundos relacionados con estos puntos de conocimiento hasta que no pueda responder la respuesta, explorando así sus márgenes técnicos y obteniendo una comprensión más profunda de sus capacidades técnicas.
La importancia del marco de Android
Aunque el desarrollo del marco de Android es de nivel relativamente bajo y tiene una visión estrecha, si puedes comprender algunos principios, puedes evitarlo. analogía y desarrollarla hasta la capa de aplicación. A continuación, echemos un vistazo a la importancia del conocimiento del marco. Da algunas castañas y tal vez puedas entender.
Por ejemplo, monitoreo de pérdida de cuadros, instrumentación de funciones, detección de funciones lentas, monitoreo de ANR y monitoreo de inicio. Es necesario tener un conocimiento profundo del marco para saber cómo monitorear, qué mecanismo usar para el monitoreo. y dónde insertarla, instrumentación de funciones, qué clase, qué método y qué atributo llamar para reflejar...
En la actualidad, el desarrollo de aplicaciones de las grandes empresas debería basarse en las ideas de modularización. jerarquía, componenteización y control, y todos ellos se basan en la implementación de los principios subyacentes del marco del sistema Android Framework.
Binder es el componente más importante del sistema Android.
¿Qué es un adhesivo? Mire la imagen a continuación, que es la herramienta de expresión más clara e intuitiva.
Descripción de la ventaja
Rendimiento: solo se requiere una copia de datos y su rendimiento es superado solo por * * memoria.
Estabilidad: Basado en arquitectura C/S, con responsabilidades claras, estructura clara y buena estabilidad.
Seguridad: Asignar un UID a cada App. El UID del proceso es un símbolo importante para identificar el proceso.
El mecanismo de Android IPC Binder incluye: conocimiento de preparación de Linux, principios de comunicación IPC tradicionales en Linux, principios de comunicación de Binder IPC e implementación de la capa Binder Java. Estos tienen muchas ramas pequeñas y los pequeños detalles deben estudiarse cuidadosamente. y dominado.
Entrevista con Binder, ingeniero senior de Tencent
1. ¿Por qué Android utiliza Binder como mecanismo IPC?
2. ¿Qué es exactamente 2. ¿Aglutinante?
¿Qué tal 3.3? ¿Mecanismo de vinculación entre procesos?
4. ¿Cuál es el proceso básico de comunicación aglutinante?
5. ¿Por qué es necesario serializar los objetos que se pasan entre actividades?
6. ¿Cuál es el mecanismo de comunicación subyacente de los cuatro componentes?
¿Cuál es el principio de implementación interna del 7.7. ¿AIDL?
Estas son preguntas que le harán en las entrevistas sobre el mecanismo de la carpeta.
Handler se utiliza principalmente para el procesamiento de mensajes asincrónicos: similar a la clase auxiliar, encapsula interfaces como el paso y el procesamiento de mensajes. Cuando se envía un mensaje, primero ingresa a una cola de mensajes y la función que envía el mensaje regresa inmediatamente, mientras que la otra parte saca los mensajes uno por uno en la cola de mensajes y luego procesa el mensaje, es decir, envía mensajes. y la recepción de mensajes no está sincronizada. Este mecanismo se utiliza normalmente para manejar operaciones que requieren relativamente mucho tiempo.
2. ¿Por qué utilizar el controlador?
¿Por qué utilizar el controlador? ¿No se puede utilizar este mecanismo? ¡De ninguna manera! Cuando se diseñó Android, encapsuló un conjunto de mecanismos de creación, transmisión y procesamiento de mensajes. Si no sigue este mecanismo, no habrá forma de actualizar la información de la interfaz de usuario y se generará información de excepción.
En el desarrollo de Android, algunas operaciones suelen realizarse en subprocesos secundarios. Cuando se completa la operación, algunos datos se enviarán al hilo principal a través del controlador, notificando al hilo principal que realice las operaciones correspondientes. Explore el principio detrás de esto: el hilo principal del controlador de subprocesos en realidad constituye el modelo clásico de productor-consumidor de problemas en el modelo de subprocesos. Modelo productor-consumidor: los productores y los consumidores utilizan el mismo espacio de almacenamiento al mismo tiempo, el productor agrega datos al espacio de almacenamiento y el consumidor toma datos del espacio de almacenamiento.