当前位置: 首页 > news >正文

显示一个java跳转页面

作者:numenzq

原文链接:http://www.j2medev.com/Article/ShowArticle.asp?ArticleID=1134

高级的java游戏/应用的启动时间会很长,如果你让一个漂亮的跳转页面显示在程序上,通常会增加用户的好感。然而,这样的效果可能会超出你的想象。

如果你尝试在主线程里简单的显示一个跳转页面,你可能会遇到问题,你会注意到当你的程序启动并顺序执行时,跳转页面会一闪而过。或许,它可能根本不会出现!这是可能的,只要你的代码与下面类似:

public void startApp() {
myDisplay.setCurrent(mySplashScreen);
doAllSlowInitializations();
myDisplay.setCurrent(myGameScreen);
}

这个问题的原因是因为应用程序管理器不允许在startApp()方法执行过程中看见任何ScreenCanvas。可以参考MIDP Javadocjavax.microedition.lcdui包获取更多信息。

技巧就是应该把显示跳转页面和游戏的初始化用不同的线程来处理,就像下面的代码例子那样。这将使startApp()方法很快就能执行完,并且跳转页面能尽可能显示更长的时间。两个线程可以使用共享变量来实现同步,在初始化完成时,跳转页面应该消失。

public void startApp() {
Thread splashScreenTest = new Thread(new SplashScreenTest.SplashScreen());
splashScreenTest.start();

Thread myGameThread = new Thread(this);
myGameThread.start();
}

下面的例子程序就是使用这样的技术来显示一个跳转页面的。

另外,大多数常规技术是使用晚装载来减少启动时间,它的意思是当要使用对象和资源时才初始化它们。这种方法能很好的减少你的程序对内存的需求,但是程序也有出错的危险,应当仔细考虑。

下载程序源代码

相关文章:

  • ImportError: No module named 'ConfigParser' 降级处理即可pip install docker-compose==1.21.2
  • 给你的2D游戏添加3D效果
  • docker2 和docker-compose
  • docker3 docker-compose.yml 文件编写
  • nginx基础1
  • nginx1
  • 承认多元化,保持宽容
  • nginx2
  • 如何编写高质量的代码——来自《代码大全(第2版)》的启示
  • nginx3 gzip等
  • ClickHouse概述
  • godaddy/terminus 健康检查
  • node 中nextjs
  • 利用visual source safe管理代码
  • 【Nest 极速指南】应用篇之 ElasticSearch
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • ➹使用webpack配置多页面应用(MPA)
  • Apache Zeppelin在Apache Trafodion上的可视化
  • Docker入门(二) - Dockerfile
  • js对象的深浅拷贝
  • js作用域和this的理解
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • 测试如何在敏捷团队中工作?
  • 从PHP迁移至Golang - 基础篇
  • 力扣(LeetCode)22
  • 每天10道Java面试题,跟我走,offer有!
  • 深入浏览器事件循环的本质
  • 使用SAX解析XML
  • 微服务核心架构梳理
  • ​批处理文件中的errorlevel用法
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • # 飞书APP集成平台-数字化落地
  • #微信小程序:微信小程序常见的配置传旨
  • $.ajax中的eval及dataType
  • $.proxy和$.extend
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (二)JAVA使用POI操作excel
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (南京观海微电子)——COF介绍
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • (转)菜鸟学数据库(三)——存储过程
  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
  • .NET MVC之AOP
  • .NET 中的轻量级线程安全
  • .NET/C# 在 64 位进程中读取 32 位进程重定向后的注册表
  • .Net7 环境安装配置
  • .NET命令行(CLI)常用命令
  • @property python知乎_Python3基础之:property
  • [ web基础篇 ] Burp Suite 爆破 Basic 认证密码
  • [<事务专题>]