Nunca consegui descobrir como o Android se lembra da sua última localização conhecida. Parece lembrar a localização de várias horas atrás, mas não alguns segundos atrás. Eu acho que é melhor dar um exemplo do que quero dizer.
Estive recentemente na área da baía. Eu estava usando mapas do Google no meu Android e, por acaso, eu estava no campus do Google em Mountain View. Eu estava usando mapas com o GPS ativado e, depois de um tempo, obtive uma trava de GPS adequada que eu costumava navegar pela área.
Quando voltei a São Francisco, mais tarde, estava usando-o para percorrer a cidade. Toda vez que eu ligava os mapas, ele colocava minha localização novamente em Mountain View. Cerca de 10 segundos depois, após o bloqueio do GPS, eu obtive minha localização real. Se eu desligasse e ligasse o telefone alguns segundos depois, acontecesse a mesma coisa - ele acha que estou em algum lugar que estava horas antes e depois entra em contato com minha localização real. Isso acontece o tempo todo - lembrando onde eu estava horas atrás, não onde estava alguns momentos atrás. Uma vez que estive em uma área por um certo período de tempo, isso agora se torna o novo "último local de conhecimento".
Por que, depois de obter um bloqueio GPS preciso, o Android não registra isso como o "último local conhecido" em vez de um anterior?