Android SplashScreen主题使用了大量内存

Android SplashScreen主题使用了大量内存,android,memory,xamarin,android-theme,Android,Memory,Xamarin,Android Theme,我的应用程序在活动启动后立即使用了大量内存 首先,我有一个主题,可以在我的splashScreen中放置一个图像,但因为我想调试,所以我将其放置在代码中。经过对Android设备监视器的研究和一些调试测试,我发现这一行会导致25MB的巨大内存使用 Window.SetBackgroundDrawableResource (Resource.Drawable.splash); splashscreen的jpeg仅为16 kB。有人知道为什么这种加载图像的方式会占用这么多内存,我如何减少内存 评论

我的应用程序在活动启动后立即使用了大量内存

首先,我有一个主题,可以在我的splashScreen中放置一个图像,但因为我想调试,所以我将其放置在代码中。经过对Android设备监视器的研究和一些调试测试,我发现这一行会导致25MB的巨大内存使用

Window.SetBackgroundDrawableResource (Resource.Drawable.splash);
splashscreen的jpeg仅为16 kB。有人知道为什么这种加载图像的方式会占用这么多内存,我如何减少内存


评论:我在Xamarin Android上工作,这应该与问题无关。

我以前做过闪屏,或者我喜欢称之为品牌启动屏,并且没有内存问题。我几天前贴的中号支票。最后,您还将找到GitHub示例项目的链接


希望这有助于解决您的问题。

@downvoter care需要解释吗?请记住,jpeg比Android的实际内存中图像表示效率要高得多。我的理解是,任何图像(jpeg、png等)的内存大小都需要“像素宽度*像素高度*4”字节。这有助于解释内存使用情况吗?这种尺寸增加是因为显示图像需要将图像放大回位图大小,而jpeg比位图的尺寸效率要高得多。尽管如此,我不知道Android是否会缩放图像或其他任何东西,以优化图像作为启动屏幕时的显示。但是在内存中加载一个简单的1280x1280图像而不进行任何优化将需要约6.5MB(例如),如果从XML加载背景,内存使用情况如何?