描述背景,因为我可能只是有一个可怕的方法来解决问题 - 自我学习。内存问题为应用程序加载图像
我正在为android编写一个应用程序,并测试它默认的AVD,它被设置为WVGA800,512'设备RAM大小'和240'抽象LCD密度'。
我有一些图像,我把它们放到drawable-hdpi中。 该文件夹中有458 KB(不是MB)的图像。 所有图像均为PNG格式。
的问题是,当我尝试加载我最大的图像(用于背景),它抛出:java.lang.OutOfMemoryError
这是加载图像调用:
BitmapFactory.decodeResource(status.getResources(), R.drawable.background);
这等同于我如何加载其余的图像(共33个)。
它对我来说是有道理的,它会在最大的图像上用尽内存,但我的文件夹总大小为458 KB,所以我不希望用尽设备上的512 MB RAM。
我从来没有卸载任何图像,我保持它们加载,并根据需要使用。 我之前写过一个不同的应用程序,其中我的图像总大小为563 KB,总共有82个图像,而我没有这个问题(使用相同的AVD)。实际上,之前的应用程序曾经通过翻转它来制作每个图像的几个副本,但仍未耗尽空间。目前的应用程序在初始加载时失败 - 在很多事情发生之前。
有人能指出我该问题可能是什么?我怎么能解决它,或者可能提及我的方法是错误的(例如自我教导)
你应当已经阅读:http://developer.android.com/training/displaying-bitmaps/index.html – mehmetminanc
什么是你的资产的尺寸是多少? – dumbfingers