【发布时间】:2012-09-01 18:32:23
【问题描述】:
我的项目是显示所选文件夹中图像的幻灯片。
我已经使用 ViewFlipper 完成了这个项目。我遇到的问题是将更多图像加载到取景器时的内存问题。如果文件夹包含超过 15 张图片,我会收到强制关闭错误。
Bitmap mBitmap=BitmapFactory.decodeFile(ImageList.get(i));
image.setImageBitmap(mBitmap);
viewFlipper.addView(image);
System.gc();
}
viewFlipper.startFlipping();
如何解决此“内存不足”错误,还有其他解决方法吗? 我在某处听说我们可以使用单个图像视图并在运行时更改图像。关于我如何开始的任何指示? 我还需要设置图像更改之间的时间间隔。
编辑:使用 ImageView 而不是 viewflipper,现在我可以显示单个图像。说 5 秒后如何更改 Imageview 中的图像?我在 onCreate 中实现的代码是:
ImageView imgView01 = (ImageView) findViewById(R.id.imageView1);
File dir = new File("/sdcard/WallpapersHD/");
File file[]=dir.listFiles();
for (int i=0;i<file.length;i++) {
Drawable d = (Drawable) Drawable.createFromPath(file[i].toString());
imgView01.setImageDrawable(d);
【问题讨论】:
-
如果您从服务器下载图像,那么您在项目中应用了惰性列表概念,它将一次下载一个图像。
-
不,我的图像存在于 SD 卡的文件夹中。
标签: android viewflipper android-imageview