17

我在 res/drawable 文件夹中添加了大约 35 个图像,在 res/raw 文件夹中添加了另外 30 个声音文件。现在我的应用程序需要多花 5 秒才能启动,即使只有 1 个图像和 1 个声音资源用于启动屏幕。这让我问:我的图像资源何时加载到内存中?

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

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

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

4

2 回答 2

1

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

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

于 2012-12-24T23:02:16.770 回答
0

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

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

于 2021-01-20T19:54:11.813 回答