我正在模拟器上测试我的应用程序的内存使用情况。问题是,在模拟器上,应用程序堆只是不断增长,只是释放了一点资源。如果没有收集,它将在大分辨率屏幕上导致 OutOfMemory 异常。
我下载了 Sony SDK,Xperia Z 有一个模拟器配置,分辨率为 1080x1920,默认堆为 64MB。我认为该分辨率的堆大小很小,因为我的应用程序仅在启动时使用 40MB。但是在我的手机上,它使用 15MB 的 64MB(分辨率为 540x960)。所以这个非常小的堆大小(可能不是真的?)+ GC 行为导致 OutOfMemory 非常快。
在真实设备上(我只在我的设备上测试过),GC 运行得非常好,它释放了不再使用的资源,但我真的无法预测这是否适用于其他手机。
我应该忽略 GC 在我的模拟器上的工作方式还是我的应用程序的问题?