易采站长站为您分析Android编程学习之异步加载图片的方法,以实例形式较为详细的分析了Android异步加载图片所涉及的页面布局及功能实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
本文实例讲述了Android编程学习之异步加载图片的方法。,具体如下:
最近在android开发中碰到比较棘手的问题,就是加载图片内存溢出。我开发的是一个新闻应用,应用中用到大量的图片,一个界面中可能会有上百张图片。开发android应用的朋友可能或多或少碰到加载图片内存溢出问题,一般情况下,加载一张大图就会导致内存溢出,同样,加载多张图片内存溢出的概率也很高。
列一下网络上查到的一般做法:
1.使用BitmapFactory.Options对图片进行压缩
2.优化加载图片的adapter中的getView方法,使之尽可能少占用内存
3.使用异步加载图片的方式,使图片在页面加载后慢慢载入进来。
1、2步骤是必须做足的工作,但是对于大量图片的列表仍然无法解决内存溢出的问题,采用异步加载图片的方式才能有效解决图片加载内存溢出问题。
测试的效果图如下:

在这里我把主要的代码贴出来,给大家分享一下。
1、首先是MainActivity和activity_main.xml布局文件的代码。
(1)、MainActivity的代码如下:
- package net.loonggg.test; import java.util.List;
- import net.loonggg.adapter.MyAdapter; import net.loonggg.bean.Menu;
- import net.loonggg.util.HttpUtil; import net.loonggg.util.Utils;
- import android.app.Activity; import android.app.ProgressDialog;
- import android.os.AsyncTask; import android.os.Bundle;
- import android.view.Window; import android.widget.ListView;
- public class MainActivity extends Activity { private ListView lv;
- private MyAdapter adapter; private ProgressDialog pd;
- @Override protected void onCreate(Bundle savedInstanceState) {
- requestWindowFeature(Window.FEATURE_NO_TITLE); super.onCreate(savedInstanceState);










