El gestor de memoria usa eventos del sistema para realizar algunas tareas sin consumir RAM de fondo como otras aplicaciones.
Los archivos contenidos en la rom son:
suspen.mscr (se ejecuta al suspender o iniciar la PDA)
redsync.mscr (se ejecuta al activar o desactivar el activesync o conexión de red)
Los archivos pueden editarse con un bloc de notas desde el PC o desde la propia PDA usando el Notepad incluido, con la opción de "Abrir con" del explorador de archivos.
El contenido de suspen.mscr es:
Código:
ErrorLevel("off")
If (ProcExists( "CommManager.exe" ))
kill CommManager.exe
EndIf
If (ProcExists( "Uploader.exe" ))
kill Uploader.exe
EndIf
If (ProcExists( "AlbumSearcher.exe" ))
kill AlbumSearcher.exe
EndIf
Exit
El contenido de redsync.mscr es:
Código:
ErrorLevel("off")
RemoveNotifications("\windows\noas.mscr")
runat ( timestamp()+40,"\windows\noas.mscr")
Exit
El contenido de noas.mscr es: (este archivo lo llama el redsync.mscr)
Código:
ErrorLevel("off")
If (ProcExists( "rapiclnt" ))
If (ProcExists( "Repllog.exe" ))
Exit
else
kill rapiclnt
exit
endif
else
If (ProcExists( "Repllog.exe" ))
kill repllog.exe
exit
Endif
Endif
RemoveNotifications("\windows\noas.mscr")
Exit
Vamos a explicar como funciona para que cada uno pueda personalizarse "a lo bruto" su propia gestión.
NOTA:
Aqui teneis un manual completo de MortScript
Errorlevel("off")
Cualquier error del codigo lo omite. Debeis eliminar esta linea cuando hagais pruebas y cuando ya veais que funciona como quereis agregarla de nuevo.
If (ProcExists( "CommManager.exe" ))
kill CommManager.exe
EndIf
Esta sentencia lo que hace es:
1- Comprueba si existe el proceso "Commmanager.exe"
2- "Mata" el proceso "Commmanager.exe"
3- Da fin a la condicion
Usando esta sentencia, podeis añadir cuantas querais e incluirla en el suspen.mscr o en el redsync.mscr (dependiendo donde quereis que realice la operación)
runat ( timestamp()+40,"\windows\noas.mscr")
Ejecuta en 40 segundos el script noas.mscr. Este es un truco que implemente para evitar el cierre inmediato del activesync con los problemas que esto llevaba. Ahora, encuanto conectas, al cabo de 40 segundos (o lo que deseeis) ejecuta el noas.mscr para ver si queda algun residuo del ActiveSync y lo limpia siendo el caso (no lo hara si esta en uso). No reducir mucho el tiempo ya que cuando conectas no es inmediata la conexión del activesyns y podrias cerrarlo antes de completar la conexión.
RemoveNotifications("\windows\noas.mscr")
Este es otro truco que he implantado en la VC. Contectar varias veces antes de los 40 segundos sea por wifi, bt, activesync, etc.. provoca que se incrementen los eventos en el sistema. No consumen ni RAM ni espacio, pero haces que luego se ejecuten en cadena el mismo procedimiento de cierre repetitivamente. Esta linea "limpia" cualquier evento antes de lanzar la petición.
Todos estos procesos son imperceptibles e inmediatos. Si pones un aviso de vibración antes y despues del proceso es imposible detectar el tiempo del script.
Mas adelante daré mas detalles y trucos de como mejorar la memoria.