当前位置:编程学习 > JAVA >>

gridview通过小图显示大图内存溢出,哪位大神帮忙优化一下,新手啊~

XcActivity.java

package com.shi.sun.love;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;

public class XcActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.xcxml);  
        GridView gridView=(GridView)findViewById(R.id.gridview);  
        gridView.setAdapter(new ImageAdapter(this));  
        //单击GridView元素的响应  
        gridView.setOnItemClickListener(new OnItemClickListener() {  
  
            @Override  
            public void onItemClick(AdapterView<?> parent, View view,  
                    int position, long id) {  
                //弹出单击的GridView元素的位置 
             Intent intent =new Intent(XcActivity.this,IvActivity.class);
             intent.putExtra("position", position);
             startActivity(intent);
            }  
        });  
}
 private class ImageAdapter extends BaseAdapter{  
        private Context mContext;  
  
        public ImageAdapter(Context context) {  
            this.mContext=context;  
        }  
  
        @Override  
        public int getCount() {  
            return mThumbIds.length;  
        }  
  
        @Override  
        public Object getItem(int position) {  
            return mThumbIds[position];  
        }  
  
        @Override  
        public long getItemId(int position) {  
            // TODO Auto-generated method stub  
            return 0;  
        }  
  
        @Override  
        public View getView(int position, View convertView, ViewGroup parent) {  
            //定义一个ImageView,显示在GridView里  
            ImageView imageView;  
            if(convertView==null){  
                imageView=new ImageView(mContext);  
                imageView.setLayoutParams(new GridView.LayoutParams(85, 85));  
                imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);  
                imageView.setPadding(8, 8, 8, 8);  
            }else{  
                imageView = (ImageView) convertView;  
            }  
            imageView.setImageResource(mThumbIds[position]);  
            return imageView;  
        }  
          
  
          
    }  
    //展示图片  
    private Integer[] mThumbIds = {  
            R.drawable.a1, R.drawable.a2,  
            R.drawable.a3, R.drawable.a4,  
            R.drawable.a5, R.drawable.a6,  
            R.drawable.a7, R.drawable.a8,  
            R.drawable.a9, R.drawable.a10,  
            R.drawable.background, R.drawable.a12,
            R.drawable.a13, R.drawable.a14,  
            R.drawable.a15, R.drawable.a18,  
            R.drawable.a17,R.drawable.a19,
            R.drawable.a11,R.drawable.a20,
    };  
}


IvActivity.java

package com.shi.sun.love;


import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.ImageView;

public class IvActivity extends Activity {
private ImageView imageView;
 private Integer[] mThumbIds = {  
            R.drawable.a1, R.drawable.a2,  
            R.drawable.a3, R.drawable.a4,  
            R.drawable.a5, R.drawable.a6,  
            R.drawable.a7, R.drawable.a8,  
            R.drawable.a9, R.drawable.a10,  
            R.drawable.background, R.drawable.a12,
            R.drawable.a13, R.drawable.a14,  
            R.drawable.a15, R.drawable.a18,  
            R.drawable.a17,R.drawable.a19,
            R.drawable.a11,R.drawable.a20,
    };  
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.imageview);
imageView = (ImageView)findViewById(R.id.imageView);
Intent intent = getIntent();
Bundle bundle=intent.getExtras();
int positon=bundle.getInt("position");
int imageId = intent.getIntExtra("id",mThumbIds[positon]);
imageView.setImageResource(imageId);
}
}
内存溢出 gridview 优化 java android --------------------编程问答-------------------- 内存调大点实验没有 --------------------编程问答--------------------
引用 1 楼 zqfddqr 的回复:
内存调大点实验没有

不管用呀,虚拟机内存调大试过了, 而且真机不可以调啊~ --------------------编程问答--------------------
引用 2 楼 tcking_com 的回复:
引用 1 楼 zqfddqr 的回复:内存调大点实验没有
不管用呀,虚拟机内存调大试过了, 而且真机不可以调啊~
你虚拟机调大内存过了没有啊,现在虚拟机上过了在说。
补充:Java ,  Java相关
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,