原文地址链接
高级的java游戏/应用的启动时间会很长,如果你让一个漂亮的跳转页面显示在程序上,通常会增加用户的好感。然而,这样的效果可能会超出你的想象。
如果你尝试在主线程里简单的显示一个跳转页面,你可能会遇到问题,你会注意到当你的程序启动并顺序执行时,跳转页面会一闪而过。或许,它可能根本不会出现!这是可能的,只要你的代码与下面类似:
public void startapp() {
mydisplay.setcurrent(mysplashscreen);
doallslowinitializations();
mydisplay.setcurrent(mygamescreen);
}
这个问题的原因是因为应用程序管理器不允许在startapp()方法执行过程中看见任何screen或canvas。可以参考midp javadoc的javax.microedition.lcdui包获取更多信息。
技巧就是应该把显示跳转页面和游戏的初始化用不同的线程来处理,就像下面的代码例子那样。这将使startapp()方法很快就能执行完,并且跳转页面能尽可能显示更长的时间。两个线程可以使用共享变量来实现同步,在初始化完成时,跳转页面应该消失。
public void startapp() {
thread splashscreentest = new thread(new splashscreentest.splashscreen());
splashscreentest.start();
thread mygamethread = new thread(this);
mygamethread.start();
}
下面的例子程序就是使用这样的技术来显示一个跳转页面的。
另外,大多数常规技术是使用晚装载来减少启动时间,它的意思是当要使用对象和资源时才初始化它们。这种方法能很好的减少你的程序对内存的需求,但是程序也有出错的危险,应当仔细考虑。
下载程序源代码
闽公网安备 35060202000074号