我有一个已经上市一段时间的应用程序,我已经在多台设备上测试了这个应用程序,并且玩了很多次都没有问题。然后最近我在一个相当糟糕的低性能设备上对其进行了测试,并在第一次运行时得到了可怕的“位图大小超过 VM 预算”错误。我之前在使用完全不同的应用程序时遇到过这个错误,但它只是在多次重复使用后才发生的。当我当时研究这个错误时,我看到解决这个问题的最热门的答案是与释放/垃圾收集问题有关......但大概它必须有可能在没有做出任何事情的情况下遇到这个错误编码错误。当然,错误可以通过使用功率不足的设备发生?...如果可以,您如何将其与编码错误区分开来?
问问题
37 次
1 回答
2
肯定会因为使用功率不足的设备而发生错误吗?
并不真地。一个“动力不足的设备”可以显示位图,你可以从主屏幕上看出这一点。问题是它可以显示多大的图像,就分辨率和位深度而言,以及一次可以在内存中保存多少这样的图像。您应该使用getMemoryClass()
on 之类的ActivityManager
东西来查看您的堆有多大,然后调整您的图像处理以匹配。
于 2013-02-18T17:39:07.817 回答