¿Cuál es el tamaño del búfer más largo en un teléfono Android?

Experimentalmente, 8K <tamaño de búfer <32K funciona bien y hay mejoras significativas de rendimiento por debajo de 8K. Algo interesante es que algunos datos con buffer> 64K mostraron un peor rendimiento que los datos con un buffer inferior a 64K

(Lo probé en varios dispositivos Android e intenté leer un archivo binario de 20 MB con varios tamaños de búfer).

Aquí está el resultado exp y será mejor que los pegue en la hoja de cálculo si desea convertir los datos en forma bonita. encabezado significa que el tamaño del búfer y las unidades son milisegundos.

Cambiar el tamaño del búfer

Bueno, es un dispositivo pequeño, por lo que el procesamiento lleva mucho más tiempo. Por ejemplo, nunca tuve un problema con AudioSampleBuffer addFrom. Pero cambiar a copyFrom reduce significativamente los clics. Aunque necesito mezclar mis pistas, eso no es una solución.

¿Sabes si los dispositivos de audio en teléfonos Android se pueden configurar con un tamaño de búfer diferente? He sondeado el dispositivo actual en el mío y obtengo:

07-05 17: 03: 38.690: INFO / Juce (15436): **** Memoria de dispositivo de audio disponible: 5312
07-05 17: 03: 38.690: INFO / Juce (15436): **** Memoria de dispositivo de audio disponible: 5184
07-05 17: 03: 38.690: INFO / Juce (15436): **** Memoria de dispositivo de audio disponible: 5056
07-05 17: 03: 38.690: INFO / Juce (15436): **** Memoria de dispositivo de audio disponible: 4928
07-05 17: 03: 38.690: INFO / Juce (15436): **** Memoria de dispositivo de audio disponible: 4800
07-05 17: 03: 38.690: INFO / Juce (15436): **** Memoria de dispositivo de audio disponible: 4672
07-05 17: 03: 38.690: INFO / Juce (15436): **** Memoria de dispositivo de audio disponible: 4544
07-05 17: 03: 38.690: INFO / Juce (15436): **** Memoria de dispositivo de audio disponible: 4416
07-05 17: 03: 38.690: INFO / Juce (15436): **** Memoria de dispositivo de audio disponible: 4288
07-05 17: 03: 38.690: INFO / Juce (15436): **** Memoria de dispositivo de audio disponible: 4160

Pero cuando intento configurarlo para que diga 5312, sigo obteniendo la siguiente línea como:

07-05 17: 03: 38.815: DEBUG / AudioHardwareALSA (2379): Tamaño del búfer: 2048

Por lo general, varía de 64K a 16M en dispositivos Android.

Para cambiar el tamaño del búfer en el dispositivo Android, debe habilitar la opción de desarrollador en su dispositivo. Puede ver el tamaño del búfer en la sección de depuración de las opciones del desarrollador. De forma predeterminada, el tamaño del búfer para el registro se establece en 256K y puede establecer el tamaño máximo de cada búfer de registro 16M . Puede configurar el tamaño del búfer de registro como 64K, 256K, 1M, 4M y 16M en su dispositivo Android Lollipop (5.1.1) y Marshmallow (Android 6.0).

Es fácil cambiar el tamaño del búfer que registra el dispositivo Android. Diferentes dispositivos tienen diferentes configuraciones para habilitar el modo de desarrollador en el teléfono Android. En el último dispositivo Android Lollipop y Marshmallow, puede ver la opción del desarrollador en la configuración, pero en Jelly bean (4.2) use esta Configuración> acerca de> toque el número de compilación 7 veces . Después de habilitar la opción de desarrollador, puede ver y controlar los servicios que se ejecutan actualmente, incluidas las aplicaciones, el tamaño del búfer para el registro, la RAM del sistema, etc. y también las aplicaciones inactivas en el teléfono Android.

El daemon logcat de Android mantiene un búfer de registros para que, incluso si no está iniciando sesión cuando se produce una excepción, pueda obtener el seguimiento de la pila en unos minutos. La mayoría de los usuarios que ejecutan el stock de firmware desean mantener esto al mínimo, mientras que los usuarios de ROM personalizados y los desarrolladores de aplicaciones mantienen esto al máximo para que puedan obtener todos los registros que necesitan.

En java hay un tamaño de búfer óptimo de 32 Kb que se basa únicamente en la arquitectura de la CPU que se utiliza. En los teléfonos Android, la máquina virtual Dalvik conoce dinámicamente la caché adecuada de la CPU para obtener el mayor tamaño de búfer independientemente de los muchos teléfonos diferentes disponibles

El tamaño de búfer muy pequeño de 32 Kb

y mayor tamaño de búfer 64K-16M

Puedes obtener más información sobre el desarrollo de aplicaciones de Android

More Interesting

¿Por qué crees que Apple todavía tiene éxito a pesar de que su hardware no es rival para los buques insignia de sus homólogos de Android? ¿Es debido a sus excepcionales habilidades de construcción que hacen que el rendimiento rivalice con cualquier buque insignia de Android?

¿Cuáles son algunos teléfonos Android originales?

¿Por qué las actualizaciones de Android OS se retrasan para todos los demás teléfonos de la compañía, excepto los dispositivos nexus?

Mi teléfono Android no es compatible con un reproductor Adobe Flash. ¿Hay alguna otra aplicación que pueda usar para reemplazarla?

¿Cuál es la carpeta Xiaoying que aparece en los nuevos teléfonos inteligentes Android?

Tabletas Android: ¿Por qué los dispositivos nexus son tan baratos en los EE. UU. Pero casi el doble del precio en otras partes del mundo?

¿Qué cosas geniales puedes hacer con un dispositivo Android que no puedes hacer con un dispositivo Apple, y viceversa?

Rooteé mi teléfono Android (Samsung) y edité el build.prop. Después de editar esto, reinicié mi teléfono. Ahora el teléfono no funciona y tiene un error. "La interfaz de usuario del sistema se ha detenido". ¿Qué tengo que hacer?

¿Por qué los teléfonos Android se vuelven tan lentos con el paso del tiempo?

¿La actualización de un sistema operativo Android hace que el teléfono se retrase?

¿Cuál es tu opinión sobre Android Lollipop?

¿Por qué no puedo hacer una encuesta de Instagram? Tengo un teléfono Android que reinicié, actualicé y reinstalé la aplicación, pero ¿sigue siendo el mismo?

¿Los teléfonos Android de Samsung pueden capturar una foto de la cámara frontal y trasera sin informar al usuario?

¿Qué teléfono es mejor entre Moto X (2nd Gen) y Moto G Turbo?

¿Por qué Google no creó una compañía móvil para vender teléfonos Android?