protected void downloadTitleLogo() {
    if (memoryCache == null) {
      // キャッシュの設定
      memoryCache = new MemoryCache<Bitmap>();
      memoryCache.setOnMemoryCacheRemoveListener(
          new OnMemoryCacheRemoveListener<Bitmap>() {
            @Override
            public boolean onRemoveItem(String key, Bitmap item) {
              if (item != null) {
                item.recycle();
              }
              return true;
            }
          });
    }

    // タイトルロゴのダウンロード
    final String logoImageName = settingNavigationLogoImage(catalogId);
    if (logoImageName == null) {
      if (callback != null) {
        callback.downloadNaviLogoImageCompleted(null);
      }
    } else {
      if (memoryCache != null && memoryCache.containsKey(logoImageName)) {
        Bitmap bmp = memoryCache.get(logoImageName);
        if (callback != null) {
          callback.downloadNaviLogoImageCompleted(bmp);
        }
      } else {
        DownloadManager.getInstance()
            .offerImage(
                settingName(),
                0,
                catalogUrl,
                logoImageName,
                new AsyncCallback<Bitmap>() {
                  @Override
                  public void onSuccess(AsyncResult<Bitmap> result) {
                    Bitmap bmp = result.getContent();
                    if (memoryCache == null) {
                      // 画面がすでに停止している
                      bmp.recycle();
                    } else {
                      bmp = memoryCache.put(logoImageName, bmp);
                      if (callback != null) {
                        callback.downloadNaviLogoImageCompleted(bmp);
                      }
                    }
                  }

                  @Override
                  public void onFailed(AsyncResult<Bitmap> result) {
                    if (callback != null) {
                      callback.downloadNaviLogoImageCompleted(null);
                    }
                  }
                });
      }
    }
  }
  /** 画像をダウンロード */
  public void downloadImages() {
    if (memoryCache == null) {
      // キャッシュの設定
      memoryCache = new MemoryCache<Bitmap>();
      memoryCache.setOnMemoryCacheRemoveListener(
          new OnMemoryCacheRemoveListener<Bitmap>() {
            @Override
            public boolean onRemoveItem(String key, Bitmap item) {
              if (item != null) {
                item.recycle();
              }
              return true;
            }
          });
    }

    // タイトルロゴのダウンロード
    final String logoImageName = settingNavigationLogoImage(catalogId);
    if (logoImageName == null) {
      if (callback != null) {
        callback.downloadNaviLogoImageCompleted(null);
      }
    } else {
      if (memoryCache != null && memoryCache.containsKey(logoImageName)) {
        Bitmap bmp = memoryCache.get(logoImageName);
        if (callback != null) {
          callback.downloadNaviLogoImageCompleted(bmp);
        }
      } else {
        DownloadManager.getInstance()
            .offerImage(
                settingName(),
                0,
                catalogUrl,
                logoImageName,
                new AsyncCallback<Bitmap>() {
                  @Override
                  public void onSuccess(AsyncResult<Bitmap> result) {
                    Bitmap bmp = result.getContent();
                    if (memoryCache == null) {
                      // 画面がすでに停止している
                      bmp.recycle();
                    } else {
                      bmp = memoryCache.put(logoImageName, bmp);
                      if (callback != null) {
                        callback.downloadNaviLogoImageCompleted(bmp);
                      }
                    }
                  }

                  @Override
                  public void onFailed(AsyncResult<Bitmap> result) {
                    if (callback != null) {
                      callback.downloadNaviLogoImageCompleted(null);
                    }
                  }
                });
      }
    }

    // 背景画像のダウンロード
    downloadBackImageCountUp = true;
    downloadBackImageCount = 0;
    downloadingBackImage = true;

    // 背景画像(縦)のダウンロード
    backImageSetting = settingBgImage(catalogId, Configuration.ORIENTATION_PORTRAIT);
    boolean down1 = downloadBackImages(backImageSetting);

    // 背景画像(横)のダウンロード
    backImageLandscapeSetting = settingBgImage(catalogId, Configuration.ORIENTATION_LANDSCAPE);
    boolean down2 = downloadBackImages(backImageLandscapeSetting);

    // ダウンロード数のカウント終了
    downloadBackImageCountUp = false;

    if (!down1 && !down2 || downloadBackImageCount <= 0) {
      // 背景画像が1つも無かった。または全てキャッシュから。
      downloadingBackImage = false;
      checkCompleted();
    }
  }