OutOfMemory:如何释放ImageView的内存

时间:2015-01-30 15:29:29

标签: android imageview out-of-memory

我得到了很好的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();

0 个答案:

没有答案