Jamendo 代码Image缓存实现:
package com.teleca.jamendo.util;
import java.util.WeakHashMap;
import android.graphics.Bitmap;
/**
* Caches downloaded images, saves bandwidth and user's
* packets
*
* @author Lukasz Wisniewski
*/
public class ImageCache extends WeakHashMap<String, Bitmap> {
//WeakHashMap....add by gjican...
private static final long serialVersionUID = 1L;
public boolean isCached(String url){
return containsKey(url) && get(url) != null;
}
}
在JamendoApplicatin中定义一个全局的getImageCache()来获得当前应用程序图片缓存 JamendoApplication.getInstance().getImageCache().put(mTaskUrl, bmp);
然后在每次下载图片之前先进行判断,看是否缓存里存在此图片,若有则直接显示,否则调用DownloadTast()去下载
public String doInBackground(String... params) {
mTaskUrl = params[0];
InputStream stream = null;
URL imageUrl;
Bitmap bmp = null;
try {
imageUrl = new URL(mTaskUrl);
try {
stream = imageUrl.openStream();
bmp = BitmapFactory.decodeStream(stream);
try {
if(bmp != null){
JamendoApplication.getInstance().getImageCache().put(mTaskUrl, bmp);
Log.d(JamendoApplication.TAG, "Image cached "+mTaskUrl);
} else {
Log.w(JamendoApplication.TAG, "Failed to cache "+mTaskUrl);
}
} catch (NullPointerException e) {
Log.w(JamendoApplication.TAG, "Failed to cache "+mTaskUrl);
}
} catch (IOException e) {
Log.w(JamendoApplication.TAG, "Couldn't load bitmap from url: " + mTaskUrl);
} finally {
try {
if(stream != null){
stream.close();
}
} catch (IOException e) {}
}
} catch (MalformedURLException e) {
e.printStackTrace();
}
return mTaskUrl;
}
分享到:
相关推荐
jamendo源码
Jamendo,果酱播放器的完整源码,非常值得新手学习的源码。Jamendo播放器,界面精美,代码清晰。
Android应用源码安卓源码(172个合集),可以做为你的学习参考。 365MobileSecretary v1.0.6(365手机助手AIDL) 888个经典 Logo.rar AdXmpp(Openfire+asmack+spark) .zip AidlDemo(简单aidl的例子) aidl跨进程调用....
Android应用源码之jamendo-开源在线音乐_jamendo
Android应用源码之jamendo_Android
android, 文档,源码,音乐播放器,jamendo源码
Android应用源码之jamendo-开源在线音乐.zip项目安卓应用源码下载Android应用源码之jamendo-开源在线音乐.zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合个人学习研究参考 3.适合公司开发项目技术参考
Android应用源码之jamendo.zip项目安卓应用源码下载Android应用源码之jamendo.zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合个人学习研究参考 3.适合公司开发项目技术参考
安卓Android源码——jamendo.rar
安卓Android源码——jamendo-开源在线音乐.zip
Jamendo公司的开源代码,大家可以学习一下里面的处理方式
Android 源码参考学习
Jamendo在线音乐播放器是一款android平台在开源的在线音乐播放,该播放器的主要特色如下: 1. 界面美观,在jamendo播放器中精美的布局的随处可见,大量使用自定义控件和Adapter进行布局,这点可供初学者好好探讨...
200款优秀Android项目源码包括Android自动开关机实现,Android自动发送短信,Android中监听电话状态,Android之Wifi学习教程,jamendo-开源在线音等项目
jamendo-开源在线音乐,这是一款来自国外的Android 原生音乐播放APP软件,支持专辑加载,支持各种音乐的播放控制,界面简洁实用,它的价值的是代码的参考性比较大,这个播放软件还可下载音乐,运行视图如截图所示,...
源码参考,欢迎下载
安卓Android源码——telecapoland-jamendo-android-6cd07fb(国外开源音乐播放器).zip
安卓Android源码——telecapoland-jamendo-android-6cd07fb(国外开源音乐播放器).rar