尝试在AVD(5.0)上的Samsung S4(5.0.1)上重新创建OOM。两者都报告了MemoryClass 128,但是我无法在我的AVD上重现OOM条件。
我最终得到了一个非常极端的6000x4000测试位图(96MB没有inSampling。当然,对于生产来说不是一个好主意,但这仅用于测试)我使用普通的BitmapFactory。
S4在加载时一直崩溃,而不是意外:)
奇怪的是:在AVD上这个始终如一地加载而没有任何问题。我总是能够将巨大的内存分配到可用的MemoryClass的极限,好像根本没有碎片。
具有相同VM堆大小的Shouln设备表现相似?两个设备上的堆fragementation应该没有重大差异,因为App已经新安装并启动。
我很困惑,因为它看起来像AVD不是一个有用的测试设备,至少在ART中的内存管理方面。
我可能对MemoryClass和VM堆大小有一些基本的误解。有什么想法吗?