A method for efficiently using a battery in a smartphone while operating a navigation system therein, comprises the steps of: generating a route based on an address or a location entered by a driver; dividing the route into more than one route segments; determining route complexity in each route segment; and automatically switching from a current location sensor to another location sensor in the navigation system when the route complexity changes, to maximize the usage of the battery in the smartphone; characterized in that the step of switching from a current location sensor to another location sensor includes, when the driver is travelling from a less complex route segment to a more complex route segment, that the navigation system, in order to conserve more battery power, continues to use a location sensor with lower location accuracy until the navigation system determines that switching to a higher location accuracy location sensor is necessary; in that the step of automatically switching from one location sensor to another location sensor when the driver is travelling from a less complex route segment to a more complex route segment includes the step of determining a best timing to switch from the location sensor with lower location accuracy to another location sensor with higher location accuracy; in that the step of determining a best timing to switch from the location sensor with lower location accuracy to another location sensor with higher location accuracy includes the step of receiving information including prior completion time to the destination and any anticipatory delay; historical and predictive traffic conditions; distance between the current position and destination; and population density at the current vehicle position, at the destination and at all areas in between; and in that determining the best timing to switch form the location sensor with lower location accuracy to the location sensor with higher location accuracy takes account of said received information. generating a route based on an address or a location entered by a driver; dividing the route into more than one route segments; determining route complexity in each route segment; and automatically switching from a current location sensor to another location sensor in the navigation system when the route complexity changes, to maximize the usage of the battery in the smartphone; characterized in that the step of switching from a current location sensor to another location sensor includes, when the driver is travelling from a less complex route segment to a more complex route segment, that the navigation system, in order to conserve more battery power, continues to use a location sensor with lower location accuracy until the navigation system determines that switching to a higher location accuracy location sensor is necessary; in that the step of automatically switching from one location sensor to another location sensor when the driver is travelling from a less complex route segment to a more complex route segment includes the step of determining a best timing to switch from the location sensor with lower location accuracy to another location sensor with higher location accuracy; in that the step of determining a best timing to switch from the location sensor with lower location accuracy to another location sensor with higher location accuracy includes the step of receiving information including prior completion time to the destination and any anticipatory delay; historical and predictive traffic conditions; distance between the current position and destination; and population density at the current vehicle position, at the destination and at all areas in between; and in that determining the best timing to switch form the location sensor with lower location accuracy to the location sensor with higher location accuracy takes account of said received information.