【问题标题】:java.lang.OutOfMemoryError: bitmap size exceeds VM budget & java.io.FileNotFoundExceptionjava.lang.OutOfMemoryError:位图大小超出 VM 预算和 java.io.FileNotFoundException
【发布时间】:2013-09-10 11:10:23
【问题描述】:

我已经接管了其他人的项目,因为他们现在已经离开了,但是因为这不是我的代码而且我没有使用 java 的经验,所以我的应用程序中不断出现各种错误。

我收到的第一个错误如下:

java.io.FileNotFoundException: http://images.ultrait.me/ImageProcessor.aspx?imageURL=381/Sales/321466/58441_T_ADDRESSES_57075_OT.jpg&Text=LET_AGREED

正如您通过单击显示消息的链接所看到的那样,这是从提要中读取此信息(我也无权访问)。但是,由于某些未知原因,它不会显示在应用程序上。 (我还想指出提要和图像在 iPhone 应用程序上运行良好)

我收到的第二个错误如下:

java.lang.OutOfMemoryError: 位图大小超出 VM 预算

这是项目说它出错的代码:

 bm_images = new Bitmap[10];
        for(int i=0; i<10;++i)
            bm_images[i] = BitmapFactory.decodeResource(getResources(), R.drawable.downloading);

我有一个模拟应用程序,它已经完成了我希望当前应用程序执行的操作,并且代码实际上相似。所以我真的没有想法,因为我一直在比较两个版本。

正如我所说,我不是 java 专业人士,我真的不确定是什么原因造成的,如果有人需要任何其他信息来尝试帮助我不介意发送信息,我将不胜感激任何人都可以给我。

谢谢。

【问题讨论】:

    标签: java android bitmapimage ioerror


    【解决方案1】:

    请记住,每次当您的位图完成其工作时,将其设为 null 并像 mBitmap=null 和 mBitmap.recycle 一样回收()。它将清除您的位图,应用程序将释放那么多内存,因此您的应用程序不会抛出异常。

    【讨论】:

    • 我建议以相反的方向进行:P
    猜你喜欢
    • 2012-08-19
    • 2011-04-26
    • 1970-01-01
    • 2010-12-29
    相关资源
    最近更新 更多