@Override
 public void handleMessage(Message msg) {
   try {
     if (compassView != null && northHeading != null) {
       compassView.updateNorth(northHeading, cacheHeading);
     }
   } catch (Exception e) {
     Log.e(Settings.tag, "cgeonavigate.updaterHandler: " + e.toString());
   }
 }
  @Override
  public void onDestroy() {
    if (geo != null) {
      geo = app.removeGeo();
    }
    if (dir != null) {
      dir = app.removeDir();
    }

    compassView.destroyDrawingCache();
    compassView = null;

    super.onDestroy();
  }