final File imageFile = new File(getCacheDir().getPath() + "/img/" + p.image);
image.setVisibility(View.GONE);
view.findViewById(R.id.imageLoading).setVisibility(View.VISIBLE);
(new AsyncTask<Void, Void, Bitmap>() {
@Override
protected Bitmap doInBackground(Void... params) {
try {
Bitmap image;
if (!imageFile.exists() || imageFile.length() == 0) {
image = BitmapFactory.decodeStream(new URL(
"http://example.com/images/"
+ p.image).openStream());
image.compress(Bitmap.CompressFormat.JPEG, 85,
new FileOutputStream(imageFile));
image.recycle();
}
image = BitmapFactory.decodeFile(imageFile.getPath(),
bitmapOptions);
return image;
} catch (MalformedURLException ex) {
// TODO Auto-generated catch block
ex.printStackTrace();
return null;
} catch (IOException ex) {
// TODO Auto-generated catch block
ex.printStackTrace();
return null;
}
}
@Override
protected void onPostExecute(Bitmap image) {
if (view.getTag() != p) // The view was recycled.
return;
view.findViewById(R.id.imageLoading).setVisibility(
View.GONE);
view.findViewById(R.id.image)
.setVisibility(View.VISIBLE);
((ImageView) view.findViewById(R.id.image))
.setImageBitmap(image);
}
}).execute();
分享到:
相关推荐
这个压缩包文件"集成安卓开源类库 第三方组件示例DEMO 网络请求 数据库操作 异步图片加载 二维码、短信验证码等相关工具类、自定义控件等等"包含了多个关键领域的实践案例和代码示例,对于开发者来说是一份非常有...
这些文件协同工作,实现了一个完整的异步图片上传流程。 总的来说,这个示例项目可以帮助开发者了解如何结合PHP和JavaScript实现异步图片上传,为自己的项目提供参考。在实际开发中,可以进一步优化,例如加入...
首先,"异步图片下载显示"是指在不阻塞主线程的情况下,后台下载图片并在图片下载完成后,在UI界面上进行更新。这种技术避免了因为网络请求导致的界面卡顿,提高了用户体验。主要的实现方式包括使用GCD(Grand ...
一种常见的异步图片加载库是Universal Image Loader (UIL),但现在更推荐使用Glide或Picasso。这些库都提供了简洁的API,能轻松实现图片的异步加载、缓存管理和内存优化。 以Glide为例,我们可以这样使用它来加载...
Android异步图片加载就是为了解决这个问题而设计的一种技术策略。 Android系统默认的图片加载方式是同步的,即在主线程中进行,当图片数量多或图片体积大时,会导致UI线程阻塞,界面卡顿。因此,开发者通常采用异步...
在iOS应用开发中,异步图片加载是一种常见的优化策略,用于提高用户体验,特别是处理大量图片时。异步加载允许应用程序在后台线程中加载图片,这样用户界面就不会因为等待资源加载而冻结。本项目名为“iOS异步图片...
在本文中,我们将深入探讨如何在ASP.NET MVC框架下实现异步图片上传和富文本编辑器的使用。ASP.NET MVC是一种流行的Web应用程序开发框架,它提供了模型-视图-控制器(MVC)的设计模式,使得代码结构清晰,易于维护。...
在Android应用开发中,异步图片加载是一项至关重要的技术,特别是在处理大量图片或者网络图片时。"Universal-ImageLoader"是Android平台上的一个经典库,它有效地解决了这个问题,提供了高效、灵活的异步图片加载...
"Universal Image Loader"(简称UIL)是一个广泛使用的第三方库,它专门设计用于处理异步图片加载、缓存以及显示,从而优化用户体验并减轻主线程的压力。下面我们将详细探讨这个库及其在异步图片加载中的应用。 ...
**jQuery异步图片预览技术详解** 在网页开发中,用户常常需要在上传图片之前预览效果,确保图片质量或格式符合预期。jQuery提供了一种高效便捷的方式实现异步图片预览,即`ImagePreview`插件。这个插件允许在不刷新...
"Android-异步图片加载器"就是为了解决这个问题而设计的框架。它优化了原生的`AsyncTask`,使得图片加载更加流畅,同时降低了开发者的学习和使用难度。 1. **异步加载原理**: - 异步加载是一种将耗时操作放在后台...
在Android应用开发中,异步图片加载是一项至关重要的技术,特别是在处理大量图片或者网络图片时。这个压缩包文件“异步图片加载(包含lib项目和测试项目)”提供了一个实现异步图片加载的解决方案,源自Android-...
下面将详细讨论如何在C# Web应用中实现异步图片上传以及处理海量图片上传的策略。 1. **异步上传基础**: - **异步编程**:异步上传的主要目的是避免阻塞主线程,提高用户体验。在C#中,可以使用`async/await`...
"安卓图片加载缓存相关-Android-异步图片加载器.zip"这个压缩包中可能包含了一个实现异步图片加载和缓存的示例项目。异步加载能够避免UI线程阻塞,提高用户体验,而缓存机制则能减少网络请求,加快图片显示速度。 ...
"Ajax异步图片上传和裁剪插件"正是为解决这一问题而设计的工具,它结合了Ajax技术进行无刷新上传和图片裁剪功能,为用户提供流畅、便捷的体验。 首先,我们来谈谈Ajax。全称Asynchronous JavaScript and XML(异步...
在Android开发中,异步图片加载是一个至关重要的技术,它能优化用户体验,避免因为网络延迟导致的界面卡顿。这个“Android高级应用源码-Android-异步图片加载器”压缩包提供了一种实现方式,可以帮助开发者理解并...
### Android项目实战——ListView异步图片加载及压缩缓存 #### 一、概述 在Android应用开发中,尤其是在处理大量图像展示的情况下,ListView组件是非常常用的一种控件。它能够有效地帮助开发者实现滚动列表的界面...
本示例将关注“异步图片加载”,具体通过Android中的`AsyncTask`来实现这一功能。 `AsyncTask`是Android提供的一种轻量级的异步处理类,它允许开发者在后台线程执行耗时操作,并在UI线程更新结果。`AsyncTask`包含...
在Android开发中,异步图片加载是一个至关重要的技术,尤其对于那些包含大量图像的应用,如社交媒体、电商应用等。这个“Android高级应用源码-Android-异步图片加载器.zip”压缩包提供了一个用于实现高效图片加载的...