我得到了很好的OutOfMemory异常,想知道如何释放ImageView的内存。 不喜欢位图recycle()因为我希望再次使用这些图像。
我的程序如下面的代码所示。 我的@drawable文件夹中有很多图像,并希望在单个ImageView中将它们随机播放。我用两个CountDownTimer做了这个,几秒后重复setImageResource()。只有几张图片工作正常,但如果我扩展图像数量,我会得到例外。
ImageViews是否有办法释放当前未使用的图片的内存。
是的,我已经知道这个页面,所以请不要指示我。 Managing Bitmap Memory
感谢您的帮助:)
private int rotateIndex;
final int NUM_OF_IMAGES = 23;
private int imageArray[] = new int[NUM_OF_IMAGES];
imageArray[0] = R.drawable.tv;
imageArray[1] = R.drawable.background;
imageArray[2] = R.drawable.background1;
imageArray[3] = R.drawable.backgroundplain;
imageArray[4] = R.drawable.myimage;
imageArray[5] = R.drawable.myimage1;
。 。
countDown1 = new CountDownTimer(2000, 1000) {
@Override
public void onTick(long millisUntilFinished){
System.out.println("timer running");
}
@Override
public void onFinish()
{
countDown2.start();
}
};
countDown2 = new CountDownTimer(200, 100) {
@Override
public void onTick(long millisUntilFinished) {
}
@Override
public void onFinish() {
rotateIndex =randomNumberBetween0andNUM_OF_IMAGES; // happens with a randomize method, nothing more
rotateImage.setImageResource(imageArray[rotateIndex]);
countDown1.start();
}
};
countDown1.start();