android-12 entrevista okhttp

Se resume en una frase:

OKHttp3 recibido por el diseño de la cadena, por lo que la solicitud interceptor se divide en cinco a mango, bloqueador de sus funciones, la escalabilidad es muy alta. cadena interceptor es a partir de un interceptor de costumbre, y luego al valor predeterminado de cinco interceptores. En circunstancias normales queremos imprimir un registro de solicitud de red, para que pueda personalizar los interceptores de registro, Si le das a todas las solicitudes para agregar encabezado, encabezado también puede personalizar el interceptor.

5 significados interceptores por defecto:

1. reintento falla, interceptor redirector.
2. interceptor Puente: añadir y eliminar parte de la cabecera principal
3. interceptor caché: Según la estrategia de almacenamiento en caché, la memoria caché si está disponible, simplemente devuelve los datos en caché.
4. Agrupación de conexiones interceptor: http conexión enlace cachés de la piscina, los beneficios de la agrupación de conexiones está conexiones multiplexadas, menos de 3 vías apretón de manos, la solicitud será más rápido
5. interceptor real de acceso a la red: uso interno Okio a petición de envío

OKIO :( tiempo de espera, el mecanismo de caché)

  • Sink: Similar salida de corriente java OutputStream
  • Fuente: señal de entrada InputStream de java similares
  • Buffer: En el nombre es un buffer, ver el búfer no se recuerda cuando escribimos generalmente io corriente creará un byte [] como un amortiguador, escribiendo los datos en este tampón se escribe en la corriente, lectura cuando se toma el flujo de datos lee en la memoria intermedia. Mira hacia abajo en el interior sabrá Buffer es en realidad un conjunto de bytes.
  • ByteString: Como su nombre indica, esta clase con el byte y la cadena correspondiente.
  • implementación segmento es una lista de carril bici , cuando un segmento está lleno, el extremo de la cadena para añadir un nuevo segmento en y puede almacenar más datos a. ** Buffer escribe, de hecho, un creciente segmento de proceso de la operación de lectura, los datos se consume continuamente en el segmento. ** es facilitar la transferencia de datos. Cuando una fuente de datos a leer en un fregadero, de hecho, los datos transferidos desde la fuente al sumidero en el búfer de búfer en. En este punto, si Buffer es un byte [] para lograr, a continuación, sin duda tenemos que byte de trabajo conjunto copia, pero con el caso de una aplicación lista enlazada, podemos dirigir el puntero del nodo de salida del segmento en el segmento refiere a la fuente final de la lista en OK, la matriz sin realizar la copia de manera más eficiente.
  • mecanismo de caché es administrado principalmente por SegmentPool
Publicado 57 artículos originales · ganado elogios 3 · Vistas 6208

Supongo que te gusta

Origin blog.csdn.net/qq_39830579/article/details/101760702
Recomendado
Clasificación