图像需要太长时间才能加载布局?

ver*_*one 1 xml android imageview android-imageview

ImageView用来制作一个1.3 MB的图像作为活动的背景.活动有另一个较小的图像(徽标)和3个按钮.那项活动没有别的.现在此活动最多需要9秒才能显示.直到那时应用程序显示黑屏.当我使用1.3 MB图像删除ImageView时,活动立即加载.因此,ImageView加载图像需要这么长时间才是正常的吗?我怎样才能减少这个时间?

Gra*_*ith 5

你有几个选择,但首先你必须问我为什么要加载这么大的位图?

使文件更小

正如@laalto所说,调整图像的尺寸并使其更小.可能是最快,最简单的选择.由于我无法看到图像,我不能说如果分辨率较小,是否会使用户看起来与用户有任何不同.

对图像进行缩小采样

对大型图像进行下采样有很多帖子可以避免outofmemory错误.是AndroidQuery团队的一个很好的例子,他们自己就已经构建了一个包含这种功能的有用.这也包含在帖子中.

你可以使用他们的库,使用他们的帖子(或类似的)来编写一些代码,或者你可以使用Square 的优秀Picasso库,尽管它可能有点过分.

如果有重复背景......

您尚未提供图像,但如果重复图像,则可以创建图块,然后将其作为资源提供.

因此,对于一个示例,您可以创建一个名为background_repeat.xml的新XML文件

<bitmap
xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/tile"
android:tileMode="repeat"
android:dither="true" />
Run Code Online (Sandbox Code Playgroud)

tile你要重复的小得多的图像在哪里?