コード例 #1
0
  private Bitmap getBitmapFromGeoObject(GeoObject geoObject) {
    if (geoObject.getBitmapUri() == null) {
      return null;
    }
    boolean canRemove = !mPendingBitmaps.existPendingList(geoObject.getBitmapUri());
    if (!mCache.isImageLoaded(geoObject.getBitmapUri())) {
      mPendingBitmaps.addObject(geoObject.getBitmapUri(), geoObject);
    }
    Bitmap btm = mCache.getBitmap(geoObject.getBitmapUri());

    if (btm == null) {
      String uri = mWorld.getDefaultBitmap(geoObject.getWorldListType());
      btm = mCache.getBitmap(uri);
    } else if (canRemove) {
      mPendingBitmaps.removePendingList(geoObject.getBitmapUri());
    }

    return resizeBitmap(geoObject.getBitmapUri(), btm);
  }