I am trying to build an offline routing system with a map database on a portable Android device. Since I am still doing some research, I am stuck on what I think is a fundamental problem.
To find the best possible route between 2 points, one needs to load the road network of that area into memory and implement an algorithm which finds the shortest path.
If the two points are very far away from each other, the amount of road data that needs to be searched could be massive and impossible to be loaded in memory of a portable device running a system such as Android. The problem gets worse with even more waypoints.
Yet there are a lot of offline apps that perform such a thing. So it seems to me that my thought process is wrong.
Do these kinds of apps load the absolute necessary memory on the fly, discard and reload others for every road junction?
That seems such a slow process to me.