Una pregunta similar ha sido respondida aquí en: ¿Por qué los smartphones Android empiezan a ir lentos poco después de su compra?
Para añadir algunos detalles por mi cuenta:
La mayoría de los teléfonos Android vienen con bloatware (esas aplicaciones que vienen preinstaladas y que no sirven para nada, y las que no se pueden desinstalar). Así que ya hay un poco de desorden. Y luego está la Play Store, desde donde descargarás toneladas de aplicaciones, algunas útiles, la mayoría para pasar el rato. Mantén sólo las aplicaciones esenciales en tu teléfono. Añade nuevas aplicaciones pero elimínalas cuando ya no las necesites.
Incluso cuando tu teléfono está en reposo, tienes un montón de actividades en segundo plano que mantienen la CPU funcionando y ocupando memoria en la RAM.
Algunas aplicaciones se mantienen siempre funcionando en segundo plano. Incluso si eliminas la aplicación, se iniciará de nuevo en segundo plano. De hecho, esto hará que la CPU vuelva a realizar la tarea desde el principio y se reanude desde el punto en el que la 'mataste'... No lo hagas, no mates las apps que tienen que ejecutarse en segundo plano constantemente.
Cuando instalas una app, ésta crea sus propios procesos que probablemente se ejecutarán, y a medida que la sigues usando más y más, utiliza más y más la CPU y la RAM. La aplicación también crea carpetas en la memoria del teléfono/tarjeta SD, donde almacena los datos. Pero cuando reinicias el teléfono y sigues teniendo las mismas aplicaciones instaladas de nuevo, funcionará un poco más rápido. La razón es: no tiene que lidiar con la cantidad de información que recogió en su uso prolongado.
¡Otra razón! La elección del lenguaje de programación de las aplicaciones también es responsable en este caso. Java, aunque es muy popular y potente, no es realmente adecuado para la arquitectura del teléfono.
Incluso una aplicación Java optimizada tendría mucha sobrecarga de conversión de código de bytes a código binario (lo que significa trabajo extra para la CPU y la RAM aparte de la ejecución real de la aplicación). Además, dado que Java está involucrado aquí, la recolección de basura, una característica muy útil (no en este caso) también funciona como un proceso adicional, para, bueno, la limpieza de la basura de los otros procesos en su teléfono (causando el desperdicio de los recursos altamente esenciales de su teléfono).
Esto es por lo que vemos a las empresas empujando a cabo los teléfonos Android con lo mejor de las mejores especificaciones. La verdadera razón es que necesita ese tipo de especificaciones para funcionar correctamente y sin problemas.