你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / Linux开发
Applet编程技巧(2)
 

示例程序如下:
  import java.awt.*;
  public class Ball extends MultiThreadApplet {
   Image ball=null;
   Image applet=null;
   Graphics appletG,ballG;
   public void run() {
   if(ball==null) {
   applet=createlmage(bounds().width, bounds().
   height);
   ball=create Image(70,70);
   appletG=applet.getGraphics();
   ballG=ball.getGraphics();
   ballG.setColor(Color.gray);
   ballG.drawOral(0,0,70,70); }
   for(int x=0;x<400;x++) {
   double angle=((double)x)/20;
   int y=(int)(Math.abs(Math.sin(angle))*80);
   appletG.clearRect(0,0,bounds().width.bounds(),
   helght);
   drawBackground(appletG);
   appletG.drawImage(ball,x.80y,this);
   this.getGraphics().drawImage(applet,0,0,this);
   try {
   Thread.sleep(25);
   } catch(Exception ignored) { } }
   }
   private void drawBackground(Graphics g){
   for (int i=0;i<1;i++){
   g.drawLine(0.i* 10, 400,i*10); }
   }
   }
  小程序首先用createImage()取得与小程序大小完全相同的屏外 图形缓存,赋给变量app let,然后得到缓存的绘图对象appletG。以后 对帧的刷新操作过程都是针对appletG。这包括清除帧、绘制背景、 在新位置绘制图形。最后再用drawImage()方法把缓存复制到小程序 的屏幕显示区。运行这个小程序,你会发现动画非常平滑,不存在闪烁 现象。
  除了闪烁之外,如果动画过于复杂,帧速率就可能降低。若动画降 到每秒20帧,则动画会出现间断现象影响显示效果。因此有必要优化 动画速度,下面列出了一些可行的方案;①画得尽可能少;②用较快的 绘图算法;③用颜色循环等技巧来绘画某一部分;④用图案来表示细节 ;⑤用定点整数进行三维计算;⑥用查询的预先计算结果来处理复杂算 法。


  4.缩短小程序装入时间 

  真正功能性的小程序本身并不小,这就意味着小程序从Internet 上下载需要花很多时间。随着小程序的普及,越来越多的Internet频 带被用于从各地的服务器向客户端Web浏览器传送这些小程序,因此响 应时间进一步下降。为了缩短小程序下载和装入时间,可以采取以下3 种方法。
  ?使执行文件尽量小尽管Internet (TCP协议)可以接受任意长度 的数据流,但负责点对点传送的网络设备(例如:路由器)对一次传送分 组包的上限有严格的限制,通常这一限制是2 56的整数倍。因此,当小 程序在网上传送时,按照上限它被分成若干包,而最后一个包可能只有 几个字节。这些包是单独传送,需要在客户端重新组装为原先小程序 执行文件字节流。当最后一个包延迟时,可能要用好几秒来等待最后 几个字节到达。唯一的解决办法就是保持类文件尽量小。开发人员可 以在不影响程序逻辑主体的前提下尝试下列方案:①删除查错代码;② 缩小String直接量;③选择Java编译器优化编译选项;④删除用不到的 方法等。
  ?类散保持在可控范围内几乎没有一个小程序是由一个类组成。 通常,开发人员为了实现一个功能较强的小程序需要从标准的Java基 类中派生出若干子类,并对之进行组合。因此,若要使一个小程序运行 ,Java虚拟机就要分别下载并装入这些类。如果实现中类的数目较多, 下载的时间也就相应较长。我们都知道,下载20个独立的数据块比下 载一个相当于20个数据块之和的大数据块要花费更多的时间,这是由 于下载每个独立数据块都要重新进行网络联接,而进行每次联接都要 花费时间的缘故。因此,开发人员在设计小程序时,类的数目要选择适 中,即可保证结构层次清晰,又要保证程序精简,不增加冗余。
  ?缩短小程序初始化时间用户讨厌等待,因此,程序下载后应尽量 缩短初始化时间。如果预处理工作较多,可以用辅助线程先同用户进 行交互,例如:问候用户、询问用户姓名、显示进程指示等。总之,让 用户"忙起来"。同时,小程序主线程可以继续在后台做初始化工作。 有句话请记住:"高兴时时间过得快",充分利用这一现象可以改变用户 对小程序装入时间的感觉。
  使用Java开发WWW客户端应用程序十分方

(编辑:aniston)

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089