Ver Mensaje Individual
  #14  
Viejo 27/02/11, 18:50:52
Avatar de intronauta
intronauta intronauta no está en línea
Monguer.
Mensajes: 5,345
Compra y venta: (1)
 
Fecha de registro: ago 2009
Mensajes: 5,345
Tu operador: Pepephone
Mencionado: 1019 comentarios
Tagged: 4 hilos
Cita:
Originalmente Escrito por AlexGF Ver Mensaje
Prevenir que se cargue sólo es una de las posibilidades. Hay muchas más, tantas como eventos tiene reconocidos el programa. La razón de que un servicio que ha sido prevenido de cargarse en el arranque aparezca después es porque está asociado a más eventos aparte del arranque. Si lo desactivas en todos ese servicio nunca se ejecutará.
Cierto, la verdad es que nunca le he prestado atención al resto de eventos centrándome en ganar tiempo en el arranque, supongo que era de las mayores pegas que tenía con el htc hero. Con el galaxy no lo uso, pero tienes razón y además tiene su utilidad precisamente para lo que comentamos, evitar que se lance un proceso ante ciertos eventos. Recuerdo además se que se comentaba para evitar que se lanzaran los servicios drm..


Cita:
Originalmente Escrito por AlexGF Ver Mensaje
Esto es verdad a medias. La filosofía de precarga de servicios y aplicaciones no tiene por qué adaptarse a las necesidades del usuario final. Por ejemplo, el tipo que diseña una aplicación para la cámara probablemente asume que el usuario que la instala usará la cámara a menudo, por lo tanto provee un servicio que hace que la cámara siempre esté en segundo plano para que el usuario pueda acceder a ella con la mayor rapidez. Eso sin contar que los programas nunca son "generosos" con sus aplicaciones vecinas, todos intentan "pillar" todo lo que pueden.

A mayores comentar que a Android ni sabe ni le importa si un servicio o aplicación se va a ejecutar más pronto o más temprano. Lo único que le importa es su prioridad para saber si puede cepillárselo o no cuando le haga falta.
No se trata de atribuirle la capacidad de discernir entre un servicio u otro ni que todos sean igual de importantes, pero un programador si quiere puede establecer una prioridad alta durante toda la vida del proceso para evitar que sea cerrado, y aún así en situaciones oom "extremas" el sistema matará este proceso e intentará reiniciarlo en cuando exista la posibilidad. Donde voy es que android está preparado para convivir con "servicios" de la naturaleza que sea y aunque los mate en base a unos privilegios cuenta con que puede haber ocasiones en que necesite darles un tratamiento especial porque por su naturaleza son parte importante del sistema e influyen en la experiencia del usuario final. Que sea para bien o para mal ya depende de otros factores, calidad del programa, nivel del programador,...


Cita:
Originalmente Escrito por AlexGF Ver Mensaje
Depende del servicio. Los servicios proporcionados por aplicaciones que no pertenecen o no están integradas en el sistema pueden matarse con cualquier task killer, pero incluso a algunos de esos servicios "protegidos" se les puede meter mano. ¿Cómo? Pues con un programa como el Autokiller que te permite definir la agresividad con la que Android se cepilla las aplicaciones/servicios que están en memoria.

Salu2
El problema de autokiller o configurando a mano lowmemorykiller/minfree en modo aggressive es que tampoco diferencia entre unos y otros, y en condiciones muy determinadas puede generar situaciones no deseadas, como fallos en notificaciones o sincronizaciones por coincidir varios procesos simultáneos mientras hacemos uso de otros procesos en primer plano.



Suele haber una tendencia a pensar que todo lo que se ejecuta en segundo plano, independientemente de si tiene actividad o no es malo, ocupa memoria y gasta batería y bueno, hay que entender como funciona android o un kernel linux mismamente y quitarle importancia a esto. Si el trabajo del programador o código es razonable -como puede ser el caso de las aplicaciones que comentan de paypal o ebay- no debería ser un problema que pululen por la memoria. probablemente gasta más memoria matar y relanzar continuamente la aplicación que mantenerla en memoria.
Responder Con Cita