应用程序启动时预加载所有图像

时间:2011-03-15 01:23:16

标签: java android static bitmap preloader

我正在尝试为Android制作简单的Pairs游戏。

计划结构

Menu.java(最初加载的菜单活动)

Game.java(游戏活动,由菜单启动)
GameThread.java(处理游戏循环,在GameView中调用渲染过程)
GameView.java(处理所有绘图到屏幕)

Graphics.java(存储已加载的图像)

问题

问题是加载游戏活动所需的所有位图需要2秒钟,因为需要很多图像才能为一组15张卡片设置动画。为了避免菜单和游戏活动之间的大量加载时间,我考虑在应用程序首次启动(菜单活动)时在新线程中预加载Graphics类中所需的所有位图,并显示某种加载动画

然后,因为我无法将Menu存储从Menu活动传递到Game活动,所以我需要在Menu活动中将其作为静态对象,以便从Game活动中访问它(使用Menu.graphics .. )。这是一种可怕的做法吗?我一直以为使用静态对象是个坏主意?我还有其他选择吗?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我建议您使用AsncTask。在Android主要网站上还有一篇名为Painless Threading的文章。