imagecache.java
来自「Sony Ericsson手机上的Facebook客户端全套代码」· Java 代码 · 共 91 行
JAVA
91 行
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3)
// Source File Name: ImageCache.java
package com.sonyericsson.fb.utils;
import java.util.Vector;
import javax.microedition.lcdui.Image;
import se.southend.drops.cache.MemoryCache;
import se.southend.drops.gui.BitmapSprite;
import se.southend.drops.resource.ResourceHandler;
import se.southend.drops.resource.ResourceListener;
// Referenced classes of package com.sonyericsson.fb.utils:
// IImageCacheResponseListener
public class ImageCache
implements ResourceListener
{
public static ImageCache getInstance()
{
if(instance == null)
instance = new ImageCache();
return instance;
}
private ImageCache()
{
mBitmapSprites = new Vector();
mUrls = new Vector();
mListeners = new Vector();
}
public void loadImage(BitmapSprite target, String url)
{
loadImage(target, url, null);
}
public void loadImage(BitmapSprite target, String url, IImageCacheResponseListener listener)
{
synchronized(this)
{
if(MemoryCache.getInstance().contains(url))
{
byte imageData[] = MemoryCache.getInstance().get(url);
target.setImage(Image.createImage(imageData, 0, imageData.length));
if(listener != null)
listener.downloadCompleted(url);
} else
{
mListeners.addElement(listener);
ResourceHandler.getInstance().request(url, this);
mBitmapSprites.addElement(target);
mUrls.addElement(url);
}
}
}
public void dataReceived(String url, byte data[], int errorCode, String MIMEtype)
{
if(errorCode == 0)
synchronized(this)
{
MemoryCache.getInstance().put("url", data);
for(int i = mUrls.size() - 1; i >= 0; i--)
{
if(!mUrls.elementAt(i).equals(url))
continue;
Image image = Image.createImage(data, 0, data.length);
((BitmapSprite)mBitmapSprites.elementAt(i)).setImage(image);
if(mListeners.elementAt(i) != null)
{
IImageCacheResponseListener listener = (IImageCacheResponseListener)mListeners.elementAt(i);
listener.downloadCompleted(url);
}
mUrls.removeElementAt(i);
mBitmapSprites.removeElementAt(i);
mListeners.removeElementAt(i);
}
}
}
private Vector mBitmapSprites;
private Vector mUrls;
private Vector mListeners;
private static ImageCache instance;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?