在寻找蓝牙的点对点网络时,我想改变一些精灵。我想改变的是制作虚拟菜单。截至目前,有一个开始菜单,就是这样。所以我做了一个选择菜单和2个虚拟菜单,稍后会显示help和mutliplayer选项。
我注意到我用这些虚拟png文件得到了一些非常奇怪的结果。它只会显示虚拟文件然后崩溃。在更改设置后我遇到了错误,表示android内存不足而且崩溃了。它指出了我在哪里创建一个新对象。我更改了代码,然后再次运行。新问题是仍然会出现这种低内存问题。我还是Android开发的新手。
我加载的.png文件是否很大,因此内存不足? 2个新的虚拟png是400像素乘300像素。如果这是真的,我的设计是否如此接近内存限制,任何新的东西都会破坏它?
如果我不正确,你有什么技巧可以帮助解决内存问题?
由于
答案 0 :(得分:2)
磁盘上的图像大小无关紧要。当你将它们加载到内存中时,它们会有多大。如果您使用ARGB_8888,300x400将变为500K位图。是的,你需要更加小心。例如,请参见:http://davidjhinson.wordpress.com/2010/05/19/scarce-commodities-google-android-memory-and-bitmaps/和
http://www.rbgrn.net/content/363-releasing-bitmap-memory-when-not-needed
编辑:P.S。欢迎来到Android世界。你刚刚经历了痛苦的通过仪式,我称之为“Bitmap Shock”。有一天,你会回顾这个并笑。 : - )