¿Alguien sabe por qué una máquina Android no es tan fluida como una máquina Apple sin importar cuán alta sea la configuración? ¿Es fácil de usar?
Contenido oculto en esta publicación
(La siguiente es la traducción original que circula en Internet, que puede no estar disponible
completamente correcto)
Aunque muchos teléfonos Android tienen configuraciones superiores a las del iPhone
Por ejemplo, la mayoría de los teléfonos Android
tienen 1 GB de memoria, mientras que el iPhone 4S solo tiene
512 MB, pero cualquiera que haya usado un iPhone sabe
que los teléfonos Android no se sienten
tan suaves cuando se usan, entonces, ¿por qué aparece?
¿Qué pasa con esta situación? El ingeniero de software y ex pasante de Google, Andrew Munn, explica que esto se debe a un problema con el diseño del marco de la ineficiente interfaz de usuario de Android
.
Sin embargo, este pasante Andrew Munn
es un estudiante universitario con especialización en ingeniería de software.
Es miembro del equipo de Android y no está en el equipo framework. funciona
y no ha visto el código fuente representado por Android
por lo que su afirmación puede no ser 100% precisa.
Y solía trabajar en el equipo de Windows Phone
por lo que puede estar inconscientemente predispuesto contra
Android. Aquí está su opinión sobre
por qué la experiencia de Android no es tan fluida como la de iOS
.
La razón por la que Android no es tan fluido como iOS no es por
las pausas causadas por Java GC, ni porque
Android ejecuta código de bytes compilado en Java.
, mientras que iOS ejecuta código nativo; la razón fundamental
es que la representación de la UI de iOS usa prioridad en tiempo real, mientras que
la representación de la UI de Android sigue. prioridad normal del hilo principal en el modelo informático tradicional
.
Esto puede parecer abstracto y difícil de entender
pero inténtalo. Usando tu
iPad o iPhone, abre Safari y carga
una página web compleja, como la primera
página de Sina.com cuando se carga la página. A mitad de camino, coloca tu
dedo en la pantalla y muévelo hacia la izquierda o hacia la derecha,
verás que todo el renderizado se detendrá inmediatamente y
La página No se cargará nuevamente hasta que retires el dedo de la pantalla.
Repita los pasos anteriores en un dispositivo Android
y descubrirá que el navegador seguirá intentando cargar
la página y renderizar el HTML mientras lo intenta. para realizar múltiples tareas
Entonces, para Android, un procesador
doble núcleo eficiente es muy importante, razón por la cual
Galaxy S II puede funcionar sin problemas
En iOS, el proceso de renderizado de la UI tiene prioridad absoluta
Cuando el usuario toca la pantalla táctil del iPhone
, todos los procesos en iOS se detendrán y la UI
El hilo interceptará todos los eventos y el sistema utilizará todos los
recursos para el proceso de renderizado de la interfaz de usuario para garantizar la prioridad de renderizado en tiempo real de la
interfaz de usuario. En el sistema Android
, la prioridad del proceso de representación de la interfaz de usuario no es
tan alta, lo que significa que cuando tocas la pantalla del teléfono Android, el programa en segundo plano del sistema no
p>
p>
Detener, pero continuar ejecutándose, como
descargar y verificar mensajes de texto para que la interfaz de usuario del sistema pueda obtener
recursos
Presenta la interfaz de usuario.
Esta es la razón por la que Android no
funciona bien.
Debido a esto, el recién lanzado Galaxy
Nexus y la tableta EeePad Transformer Prime equipada con un procesador de cuatro núcleos
no prometen brindar una experiencia fluida. La experiencia de estos dispositivos es sólo equivalente a la del iPhone de hace tres años.
Entonces, ¿por qué el equipo de Android no resuelve fundamentalmente el problema
?
Además de la presentación de la interfaz de usuario, la falta de
aceleración de hardware efectiva de Android también es una razón. Existen grandes diferencias entre los diferentes
teléfonos Android, y Apple sí. la única empresa de dispositivos portátiles que fabrica hardware y
software, por lo que solo Apple tiene la capacidad de insertar optimizaciones de software en el hardware que fabrica
Los dispositivos basados en chips de Apple no solo son energía eficiente, pero también
fluido.
De hecho, el desarrollo de Android comenzó mucho antes
del lanzamiento del primer iPhone,
y el prototipo original de Android estaba diseñado para utilizar botones p>
p>
Los dispositivos de telefonía móvil son los competidores de BlackBerry
. En los teléfonos móviles con botones, la prioridad de representación de la interfaz de usuario no es tan importante. Sin embargo, después del lanzamiento del iPhone, el Grupo Android rápidamente cambió Android a un sistema de telefonía móvil con pantalla táctil para lanzar rápidamente productos que podía competir con el iPhone, pero en ese momento
Reescribir el marco de la interfaz de usuario ya no era posible. Porque si
esto sucede, todos los programas en el Android App Market
no estarán disponibles y esta relación permanecerá en un círculo vicioso.
----------------------------------
-- --- --------------------
-------------- --- ---------------
--------- ---------------- -- --
(La pseudociencia de este pasante es realmente buena,
Me gustaría refutarla aquí)
Según este pasante, android
La razón por la que la interfaz de usuario no es fluida es porque la prioridad del procesamiento de la interfaz de usuario de respuesta no es suficiente
, y la razón por la que Google no mejora la interfaz de usuario es que
¿Tiene miedo de afectar a las aplicaciones ya publicadas?
Esta persona no comprende en absoluto el proceso de ios y Android
El mecanismo de control, y mucho menos la prioridad de la interfaz de usuario en ios, es la más alta
( risa, ios ¿Cuándo tuvo la interfaz de usuario la mayor prioridad?
Es la interrupción del sistema la que tiene la mayor prioridad. En realidad
Dijo que el proceso en segundo plano en Android siempre se está ejecutando. cuando se toca la interfaz de usuario
, mientras el proceso en segundo plano en ios siempre está ejecutándose.
¿Cómo se atreve a decir algo tan ridículo que Android sigue ejecutándose cuando toca la interfaz de usuario? Me pregunto
si alguna vez trabajó en Google. Incluso si lo que dijo sobre las prioridades de la interfaz de usuario tuviera sentido, es poco probable que cambiar las prioridades provoque que un programa caiga en un círculo vicioso. Si comprendes la arquitectura de Android, debes saber que
El procesamiento de gráficos (parte prioritaria) se encuentra en la penúltima capa de Android,
es decir, la capa del kernel, y la diseño de Android
p>Tiene un bajo acoplamiento entre capas.
La dependencia de cada capa de
la siguiente capa solo se llama a través de la interfaz. y cada capa depende de la siguiente capa. Las dependencias de una capa solo se llaman a través de la interfaz, y las dependencias de la siguiente capa de la capa anterior solo se llaman a través de la interfaz.
La dependencia de cada capa de
la siguiente capa solo se llama a través de la interfaz.
Los cambios dentro de la capa no afectarán el comportamiento fuera de la capa en todos
p>
.
En pocas palabras, si vas al mostrador del banco
para hacer negocios, vas a la ventanilla de cambio de divisas para cambiar divisas y bonos
vas a la ventanilla de bonos. ¿Cómo se maneja dentro del banco?
Tu solicitud es asunto de ellos y todo lo que necesitas hacer es enviar
tus datos y recibir los resultados.
Si, como sugirió este pasante, era el marco de la interfaz de usuario
el que manejaba la priorización, entonces Google podría fácilmente
aumentar la prioridad directamente, y nunca lo hará. impactará
cualquier programa existente, ya que ningún
programa puede eludir el marco de trabajo de Android y llamar directamente
capas inferiores de la interfaz de usuario, por lo que se realizan mejoras de bajo nivel
Tampoco causará problemas de compatibilidad para usuarios de nivel superior.
Y esto no aumentará mucho los costes de producción.
Pero ¿por qué Android sigue pareciendo más dinámico que iOS
? Creo que es la sensación de estar "atascado" (muchas personas se sienten instigadas por la brecha conceptual de que "android está más atascado que ios, en lugar de como ios"), si escuchas este tipo de cosas también mucho, naturalmente no tendrás la sensación correcta), por lo que tienes una sensación de cautela: Android tiene más retraso que iOS. He escuchado esto tantas veces que existen innumerables explicaciones "científicas y privilegiadas" de por qué Android es inferior a iOS. Creo que además de analizar este tema dialécticamente
también debemos mirarlo desde una perspectiva de desarrollo.
Al principio, el sistema Android no estaba tan optimizado como el sistema iOS
Esto se debía al concepto de diseño y la antigüedad del producto
(Android se lanzó en 2007, la empresa acaba de ser adquirida. El sistema no se había verificado en la práctica antes y iOS siempre ha sido un producto de Apple desarrollado desde la era Mac), hasta la optimización del sistema. No tan bueno como
Sistema iOS. (p>
Comienza la era mac). Además, el hardware
es mucho menos potente que el iPhone. Además, es abierto y gratuito, por lo que han entrado todos los fabricantes mixtos. Los fabricantes de componentes se encuentran en una situación desesperada, lo que da lugar a productos desiguales.
.
La comprensión de muchas personas sobre la brecha entre Android e iOS
se estableció en ese momento.
Si miramos el teléfono móvil de Apple, solo tomó un año. Para producir una máquina, ya sea software o hardware, hay suficiente tiempo de ciclo desde la selección de proveedores hasta la producción, y todo es un ajuste fino.
En otras palabras, el campo de Android abarca desde la gama baja hasta la gama alta
, pero la gama baja es numerosa y desordenada, mientras que la llamada gama alta es pocos
no refinados, y el iPhone es de muy alta gama, y esto es como las carreras de caballos de Tianji, que siempre comparan los buenos con los basura
La palabra natural- La difusión boca a boca se ha convertido en Android
También es una razón importante por la que el iPhone no es tan bueno como iOS, pero si el iPhone no es tan bueno como iOS, se convierte en una razón importante para Android
, pero si el iPhone no es tan bueno como iOS, se convierte en uno de Android
Una razón importante, pero el iPhone no es tan bueno como iOS, que se ha convertido en una razón importante para Android p>
.
El rango de impresiones no es tan grande como el de ios. De hecho, en esta era, en comparación con los productos iOS, es cierto que los productos Android no son tan buenos como los iPhone.
Pero en los últimos años, el hardware de Android básicamente
superó al del iPhone, pero ¿por qué todavía
se siente más lento que iOS? Además de los factores psicológicos mencionados anteriormente
, personalmente creo que esto no tiene nada que ver con
Android en sí, ni es tan simple como la optimización del sistema operativo.
.
Es un problema de hardware, de hecho, a nadie
le importa este problema, pero lo que quiero decir es que
el mismo monitor tiene un tiempo de respuesta más rápido,
.La reproducción es más fluida y sencilla, con menos manchas.
Las pantallas capacitivas también tienen un tiempo de respuesta y los requisitos de voltaje del entorno de trabajo son muy altos. Los propios paneles capacitivos
responden lentamente, solo 50 ~ 100 ms. >
La respuesta es más lenta cuando el voltaje es inestable y
el tiempo de respuesta de la placa capacitiva del iphone4 es
10~20 ms, una diferencia de casi 80 ms. 20 ms, una diferencia de casi 80 ms. Aunque es menos de una décima de segundo, esto afectará la intuición de las personas en la experiencia real
. Otro factor es el material de vidrio de la pantalla táctil. Cuanto mayor es la dureza, más suave es. Esto se puede medir en función del coeficiente de amortiguación y el coeficiente de fricción.
Tomemos como ejemplo un espejo.
Cuanto mayor sea la dureza del material, más suave se sentirá. El teléfono móvil de Apple
utiliza Gorilla, con una dureza de 7. Cuando está desnudo,
se siente muy suave y no se siente descuidado. Además,
. > es grande Algunas personas que compran protectores de pantalla para teléfonos móviles de Apple gastan mucho dinero (yo gasté 129) y la película también es suave. 129), la película también afecta la sensación al tacto. En lo que a teléfonos Android se refiere,
pocas personas usan Orangutan, y menos aún están dispuestas a poner una buena película
. También se siente peor que el iPhone
.
En lo que respecta a mi experiencia personal a largo plazo,
la interfaz de usuario de Android en realidad carece de demasiados efectos de animación, como
cambio delicado de interfaz (Si Observa con atención, cuando la interfaz de iOS
cambia, no solo la ventana se moverá, sino que la barra de título
y los controles encima de ella también se moverán a diferentes velocidades
<. p >, se siente muy dinámico y delicado, como una corrienteAl cambiar, la barra de título y los controles encima se moverán a diferentes velocidades (se siente muy dinámico y delicado, como agua que fluye
p>), lo que lo hace muy rígido de manejar.
De hecho, desde una perspectiva táctil, no creo que haya una diferencia clara entre un conejo y un conejo. p>
. Obviamente, si el iPhone tiene programas en segundo plano o una gran cantidad de programas en ejecución, habrá un retraso significativo incluso en el cambio de interfaz normal.
Lo último que hay que agregar es iOS. es un desarrollo pseudo
multiproceso, Android se centra más en el modelo de programa
, mientras que iOS se centra más en la experiencia del usuario
. -El renderizado (control) de la aplicación (en proceso) y
el renderizado entre procesos (superficie) se colocan en un fluinger)
Diferentes módulos y espacios, lo que genera hilos de animación
p>
cambiar con demasiada frecuencia, lo que requiere un chip central
de mayor rendimiento para lograr el mismo efecto que iOS para igualar
el renderizado también se vuelve muy complejo y, por lo tanto, no tiene el mismo efecto de animación de rotación de pantalla que en iOS al cambiar entre pantallas horizontales y verticales
.
PD: A partir de la versión oficial 4.1, Android ha ido madurando gradualmente con el soporte de hardware
Creo en el sistema 5.0
Se convertirá en el pináculo de su historia de desarrollo!