C# 使用背景图像时Xamarin Monodroid应用程序OutOfMemory异常
日志文件中出现以下消息后,我的应用程序崩溃: [dalvikvm heap]强制收集用于4320012字节分配的软引用 [dalvikvm heap]在4320012字节分配上内存不足 当我使用颜色而不是图片作为背景页面时,应用程序不会崩溃。 在打开下一页时,似乎没有释放为背景图像分配的内存。我将页面背景设置如下:C# 使用背景图像时Xamarin Monodroid应用程序OutOfMemory异常,c#,android,xamarin.android,xamarin,mvvmcross,C#,Android,Xamarin.android,Xamarin,Mvvmcross,日志文件中出现以下消息后,我的应用程序崩溃: [dalvikvm heap]强制收集用于4320012字节分配的软引用 [dalvikvm heap]在4320012字节分配上内存不足 当我使用颜色而不是图片作为背景页面时,应用程序不会崩溃。 在打开下一页时,似乎没有释放为背景图像分配的内存。我将页面背景设置如下: <resources> <style name="Theme.AppPage" parent="android:Theme"> <item
<resources>
<style name="Theme.AppPage" parent="android:Theme">
<item name="android:windowBackground">@drawable/splash_final</item>
<item name="android:windowNoTitle">true</item>
</style>
</resources>
正如您可能发现的,我也使用MvvmCross,可能问题与此框架有关
有人能帮我吗?可能的复制也可以在这里尝试许多其他点击-例如,使用较小的图像并确保使用inPurgable可能会有所帮助。还要注意的是,不同的android版本表现不同——在《Ok》中有一篇关于2011年图像内存管理的很好但很低级的演讲,我检查了所有这些链接,没有找到适合我的足够好的解决方案。第一个链接中的Cheesebaron建议将主题与背景一起使用,我已经这样做了,并将ActivityFlags.NewTask | ActivityFlags.ClearWhenTaskReset选项传递给intent,事件此解决方案不是100%可靠的。因为我使用的是MvvmCross,我甚至无法控制启动新活动的代码,所以我只使用ShowViewModel;在ViewModels中。。。我需要分叉和更改框架的代码来执行这样一个简单的任务吗?我简直不敢相信这不是开箱即用的。。。好吧,有几十亿台安卓设备和几十万个应用程序。我们不能使用图像作为页面背景吗?这太糟糕了…谢谢-我不认为forking会帮到你-这与ShowViewModel或MvvmCross无关-这是一个基本的Android内存管理问题。
[Activity (Theme = "@style/Theme.AppPage", NoHistory = false)]
public class MainMenuView : MvxActivity