¿Puedo configurarlo para que el "Teléfono" de mi teléfono tenga prioridad sobre todas las demás aplicaciones?

De vez en cuando, mi teléfono se vuelve muy lento cuando realizo múltiples tareas, lo cual es molesto pero está bien. ¿Hay alguna forma de configurarlo para que la aplicación Dialer tenga prioridad sobre todo lo demás, robando rápidamente los recursos que necesita para ejecutarse lo más rápido posible?

Además, soy consciente de la gran cantidad de asesinos de tareas disponibles, pero no estoy interesado a menos que me permita específicamente configurar el marcador como VIP o de alguna manera asegurarme de que el marcador obtenga los primeros recursos.

Moto Droid sin rootear en 2.2

Nunca use un asesino de tareas en nada más nuevo que 2.1. Interfiere con el Kernel y generalmente causa más daño que bien.

Respuestas (3)

No creo que haya ninguna forma de priorizar hilos/aplicaciones en Android. Programáticamente, establecería la prioridad del hilo aquí , pero serían sus hilos en su aplicación. No debería poder hacer esto contra la aplicación de otra persona a menos que tenga su firma de desarrollador, ya que todas las aplicaciones están aisladas entre sí (a menos que se otorgue permiso).

En su lugar, me centraría en tratar de mejorar el rendimiento general de su teléfono:

  • Conservar la memoria:
    • Reducir el número de servicios en ejecución
    • Elimine las aplicaciones que no usa (especialmente aquellas que son servicios de generación)
  • Overclocking (requiere root y agotará más batería, pero podría aliviarse un poco ejecutando un kernel bajo voltaje) o instalando un mod personalizado con ajustes de rendimiento
    • Como nota al margen, el overclocking del Motorola Droid lo hace mucho más receptivo que la velocidad de reloj predeterminada de 550-600 MHz, pero considero que el agotamiento de la batería es demasiado a menos que tenga mi teléfono conectado a una fuente de alimentación. Si lleva una batería de repuesto como yo, puede que no sea tan importante

Tienes razón al no usar un asesino de tareas. El sistema operativo Android se creó para manejar las tareas de manera adecuada y, de lo contrario, desperdiciaría recursos ejecutando un servicio de finalización automática cada X minutos (porque esas tareas eliminadas solo volverán a generarse) y podrían causar otros problemas (terminar una tarea que está escribiendo en la tarjeta SD, por ejemplo, podría dañar el archivo). Lo único para lo que son buenos los asesinos de tareas es para lo que normalmente usaría uno: para matar procesos colgados.

Sí, mi desempeño general no lo es, pero de vez en cuando (generalmente como máximo en el momento oportuno) se cuelga y no puedo hacer una llamada telefónica. Por lo general, es cuando conduzco en el trabajo y escucho un podcast. El teléfono está enchufado y la temperatura generalmente aumenta (lo que creo que afecta el rendimiento), luego se vuelve lento y, a veces, es difícil hacer llamadas rápidamente. Puedo simplemente agregar una línea a mi cuenta y obtener un teléfono plegable de la vieja escuela para hacer llamadas en el trabajo.
De acuerdo con Bryan aquí. Una pequeña nota, todavía no recomendaría un asesino de tareas para matar procesos colgados. Usaría una aplicación de monitoreo de procesos como OS Monitor para ver procesos y eliminar algo que está colgado. Solo mi preferencia personal para alejar a las personas de los asesinos de tareas.
@Matt, seguiría el consejo de Bryan y eliminaría las aplicaciones no utilizadas y trataría de limpiar su teléfono y tarjeta SD. Te sorprendería la gran diferencia que puede hacer. Y te ahorraría algo de dinero.

El comando de Linux nicey renice(usar terminal) podría ser lo que está buscando. El reniceprograma se utiliza para establecer la prioridad de programación de CPU y E/S de un proceso en ejecución; cuanto mayor sea el valor de Niza (cuanto mejor sea el programa), menor será la prioridad de programación, y los programas con un valor de Niza bajo (IOW, "promedio") tienen una prioridad de programación más alta.

Sin embargo, no estoy muy seguro de qué tan buenos valores utiliza el marco de Android. Aquí: http://code.google.com/p/openeclair/issues/detail?id=97 se insinúa que las aplicaciones de inicio evitan que se eliminen al configurarse con un valor agradable muy bajo; y, a menos que el kernel de Android se desvíe demasiado del kernel de Linux anterior, el programador de CPU e IO debería usar un buen valor para priorizar la programación de CPU e IO.

Es posible que deba estar rooteado y tener busybox.

Solo una observación: los valores agradables solo se usan para la programación de la CPU, no para la E/S.
@Flow: el valor agradable se usa para determinar la prioridad de E/S inicial.
¿Podría respaldar su reclamo con una referencia/cita? El valor agradable solo determina la cantidad de intervalo de tiempo que recibe un proceso en la programación de la CPU cuando el programador de CFS está activo. El kernel de Linux tiene un programador de E/S adicional que AFAIK no incluye el buen valor para sus cálculos. Normalmente, un programador de E/S optimizará el rendimiento, independientemente del valor agradable. También hay un binario para el kernel de Linux, que se llama ionice. Pero esto no es lo mismo que el buen valor del proceso.
@Flow: de la página de manual de ionice linux.die.net/man/1/ionice : la prioridad [predeterminada] dentro de la clase de mejor esfuerzo se derivará dinámicamente del nivel agradable de CPU del proceso: io_priority = (cpu_nice + 20 ) / 5.
@Flow: una vez que el programa está en funcionamiento, se puede usar ionice para establecer la prioridad de E/S para que ya no esté relacionada con el buen valor de la CPU. Sin embargo, la prioridad de E/S inicial se deriva, de forma predeterminada, del valor agradable inicial de la CPU.
Gracias. También descubrí que man ionicedocumenta esto para el programador de mejor esfuerzo. No estaba al tanto de eso, buen hallazgo. :-)

Optimizador de memoria AutoKiller (solo raíz)

No es específico del marcador, pero puede darle al marcador una prioridad más alta.