在Android应用程序中,何时将资源加载到内存?

时间:2012-12-24 20:29:10

标签: android android-resources performance

我已将大约35张图片添加到res / drawable文件夹,将另外30张声音文件添加到res / raw文件夹。现在我的应用程序需要花费5秒钟才能启动,即使只有1个图像,启动屏幕也会使用1个声音资源。这让我问:我的图像资源什么时候加载到内存中?

它们是在应用程序启动时还是第一次使用时加载的? (例如:当我调用ImageView.setImageResource(myResId);)

如果它们在应用程序启动时全部加载,我该如何避免这种情况?如果每个都按需加载,为什么我的申请需要更长时间才能启动?

有关应用洞察的信息: 使用ViewPager进行单一活动。每个视图页面使用一个图像资源,一个700x400像素分辨率(~50K)的jpeg文件和一个mp3文件<5秒(~60K)的声音文件。

2 个答案:

答案 0 :(得分:1)

他们是位图吗?我在android开发网站上找到了这个:

http://developer.android.com/training/displaying-bitmaps/process-bitmap.html

答案 1 :(得分:0)

这可能会回答您的问题 https://stackoverflow.com/a/40282371/1603602

基于此链接信息的简短回答是:所有资源都加载到内存中,无论您是否使用过它们。