I Linux är tillgängligt minne = free + cache + buffers. När mer minne behövs händer följande på ett ungefär:
1. Alloker fritt minne.
2. Om 1 inte räcker, ta från cache/buffers.
3. Om 2 inte heller räcker, ta från allokerat minne genom att skicka minsta använda minnessidor till swap.
Det här är nog ganska likt det som händer i Windows skulle jag tro, men bara för att systemet rapporterar 23 MB ledigt minne innebär inte att man har minnesläckor. Det mesta av minnet är ju cachat data vars syfte är att snabba upp accesser och spara en del energi.
Eftersom android inte har någon swap, så kommer minst använda appar (vanligtvis de som vilar/idlar och inte gör något) att dödas i punkt 2 för att frigöra minne. Android har en mekanism som tillåter en app att spara undan sitt tillstånd för senare bruk innan den dödas.
Det är därför man normalt inte behöver använda en TaskKiller på appar som beter sig korrekt.
Android har redan en bra minneshanterare och man behöver inte en till ovanpå.
Behöver du använda autokill, så är något trasigt/buggigt i din lur. På kort sikt kan autokill vara en temporär lösning, men på lång sikt så bör ju buggen lösas eftersom det är lätt hänt att du annars får andra problem.
En TaskKiller som opererar i automod kan ha en del negativa sidokonsekvenser som att appar "mystiskt" slutar fungera (finns många trådar om det) eller att batteriet helt plötsligt inte räcker lika länge som förut.
Betänk att en taskkiller inte låter CPU:n vila lika mycket som normalt + att frekvent använda appar kommer laddas in från flash och initialiseras om och om igen istället för att som annars använda det som redan är laddat och initialiserat i minnet. Kan ju också hända att du dödar
processer som startar om sig själva och då motarbetar autokill funktionen.
Last edited: 8 augusti 2010