I found with time the the map.clear() was working but objects where getting re added to the map because of the use of some of the global variables that I needed. So I had to do a map.clear() on the onResume() then do some object deallocation. Once I did this it worked, and actually deallocating the objects helped with garbage collection on the map as java has problems collecting items that still have a reference. See Code below.
@Override
public void onResume(){
super.onResume();
if (map != null){
onCreateCalled += 1;
if (onCreateCalled >=3){
if (fuelPolyLine != null){
fuelPolyLine.remove();
fuelPolyLine = null;
fuelStoprectLine = null;
}
if (shelterPolyLine != null){
shelterPolyLine.remove();
shelterPolyLine = null;
shelterRectLine = null;
}
if (evacPolyLine != null){
evacPolyLine.remove();
evacPolyLine = null;
evacRouteRectLine = null;
}
map.clear();
currentLocation = null;
map = null;
markerOptions = null;
evacRoute = null;
lm = null;
ll = null;
mf = null;
setupMap();
}
}
}