JRE极限精简探求手册[1]——精简一个Swing的即时战略游戏

 

本例中以GreenJVM直接压缩精简后绿色版游戏下载地址:http://download.csdn.net/source/612943


本回主在描述精简一个Java应用的实际步骤,选取了ApoDefence这个小型的Java即时战略游戏作为用例。

该作者信息可以在http://home.arcor.de/newbielein/获得,这是一个德文网页,作者也提供了其它一些小型Java游戏的展示,比如:



有兴趣的可以下载作为参考。

ApoDefence是一个Java制作的2D即时战略游戏,游戏主题是本国要塞的加固及本国城堡的防护,虽然作者所提供的功能对比商业化游戏远不够完全,但是即时战略游戏的基本要素,如小地图,点选对象,建筑的搭建、修理、破坏、计时,建筑升级,多兵种协作,敌我互动及地图编辑都已经在由此游戏中展现出来,应该这个程序说对于开发Java即时类游戏而言是一个不错的参考范例。

ApoDefence主要文件有两部分,一是ApoDefence.jar本身,一是levels文件夹下的脚本地图,两者累计大小为734KB。

应该说,如果它永远只有这么大,将他放到同人游戏站点上,下载量是绝不会输给其他语言开发的同类游戏的。

游戏界面1:



游戏界面2:




但遗憾的是,这个游戏是Java开发的,如果没有动辄数十兆的虚拟机支持,它是很难跑得起来的。

试问你看到这么一个小游戏,记住,也仅仅是个小游戏,它似乎很好玩,却需要下载十几甚至几十兆的安装程序,你还会有兴趣去尝试吗?我相信大多数人的答案会是否定的,所以,我开始试着精简它。

第一步:整理你的RT.JAR文件

我们都知道,JRE的完整版体积是很大的,在其文件夹内充斥着无数的dll,jar及properties配置文件,但要说到其中那个文件最大,最占用空间,则首推rt.jar文件莫属。

以JRE1.6中的rt.jar为例,仅它一个jar,便占用了将近46MB的硬盘空间,这无疑是种垄断,严重挤压了其它jar同类的生存空间~~~



前两天我在Blog发过一篇文章,讲的就是这件事(精简jre体积),我提供了一个名为GreenJVMMake.jar的6KB小程序,它能够准确的记录每次启动Java程序所调用类与rt.jar中类的对应关系,并且在程序执行结束后生成一个仅携带调用类的rt.jar。

那么,我们要开始精简rt.jar了。

首先,我们制作一个简单的bat批处理文件,内容如下:java -ja

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值