通州北大青鸟Java技术讲座之优化图片

通州北大青鸟老师强调,Java优化在编程中的作用不容忽视,因为一个优化技术的好坏,直接影响了这段程序的运作。

内存会溢出肯定和代码逃不了关系,同学们都知道垃圾回收器是 ava的一大优点。显然这个特性为大家写代码省了不少事,但这个特性也带来了不少隐患。举个例子,在游戏当中经常有不同场景的切换,如从游戏逻辑退到主菜单逻辑,对游戏逻辑对象的态度很多人会选择忘记等待垃圾回收器来收尸。乍看之下似乎并无不妥垃圾回收器会来善后。实际上垃圾回收器并非实时的,它不像C++的Delete语句马上释放不用的内存。当从游戏逻辑切换到主菜单逻辑这时两个对象同时存在很可能这时内存就不够用了。所以从一个角度上来讲在j2me上所有垃圾必须由手工释放。

j2me的内存溢出最严重的无疑非图片莫属,一张3k的图片可以占用20多k的内存不信大家把load前后的内存剩余打印出来对比看看.所以防止内存溢出最直接的办法就是从图片入手。如何优化图片?

多数人马上会想到图片压缩这个办法。的确,这个办法是最有效的.在photoshop里图片制作完成后不要选择 “存储为”,而是选择 “存储为 web 所用格式” 可以根据里面的选项进行压缩,特别是颜色这一项越小越好不过相应的图像会有所失真。那么完成这步就结束了吗?其实不是。

实际上该图片还可以再次压缩,在网上有许多类似的工。在这里,通州北大青鸟老师推荐一款可以压缩png格式的软件xat.com Image Optimizer 。

假如你有多张规格一样的图片,那么建议你把它做成一张长条图片。有两个原因:
1、节省存储空间和内存空间.
2、10张图片需要10个image 对象需要进行10次io操作浪费时间不说还浪费内存.图片太大了不要把不同界面的图片整合在一起否则经常会得不偿失。

另外,通州北大青鸟老师还要提醒大家,作图时有一些细节需要注意,包括颜色数量,分辩率,图像模式(最好是索引颜色)。画布大小等等,都会影响到图片大小。

北大青鸟网上报名
北大青鸟招生简章