Android 将图像动态添加到布局会导致内存不足错误
我有大约40个小图像,我想动态地将它们添加到布局中。但这会导致某些设备出现内存错误 下面是我的代码片段,用于在按钮为LinearLayout tables=Android 将图像动态添加到布局会导致内存不足错误,android,Android,我有大约40个小图像,我想动态地将它们添加到布局中。但这会导致某些设备出现内存错误 下面是我的代码片段,用于在按钮为LinearLayout tables= LinearLayout tables= (LinearLayout) findViewById(R.id.table); undo.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) {
LinearLayout tables= (LinearLayout) findViewById(R.id.table);
undo.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
for(int i = 0; i < data.length; i++){
ImageView image = new ImageView(getApplicationContext());
try{
int imgID = getResources().getIdentifier(data[i], "drawable", "package");
image.setImageResource(imgID);
}catch(Exception e){
int imgID = getResources().getIdentifier("nia", "drawable", "package");
image.setImageResource(imgID);
}
tables.addView(image);
}
}
});
LinearLayout tables=(LinearLayout)findViewById(R.id.table);
undo.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
对于(int i=0;i
有人能告诉我需要做什么来避免内存错误吗???是否在listview中显示图像?您是否在一个屏幕上显示40幅图像?请准确说明您认为的“小图像”是什么。有大小为20kB的JPG图像,在加载和缩放时,可能(暂时)需要8MB进行解压缩和缩放。那么它们的文件大小是否很小,或者尺寸是否很小,你是否要求Android缩放它们?你可以使用listview或grid视图,并使用惰性加载或通用图像加载程序加载图像。我不确定,但如果ImageView每次都可以在同一屏幕上显示listview和其他视图,你可以尝试findViewById来获取ImageView,而不是创建新实例。不使用时循环使用imageview。