CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2ME

有一些基础问题需要得到解答~~~

楼主miaorenfeng(Xer)2005-09-22 19:28:46 在 Java / J2ME 提问

1::   Image[]   imgSprites   =   new   Image[10];  
    事实上我仅仅初始化了1,   3,   5,   7,   9号图片  
  那么序号为2,   4,   6,   8,   0的图片对象应该还是null,还会占用内存吗?  
   
  2::   在MIDP   1.0中需要用到很多次DirectGraphics,    
  那是用一个全局变量   DirectGraphics   dg好还是每次循环中画图时生成一个局部变量好?  
   
  如果采用全局变量,如何初始化?是不是在paint(Graphics   g)中   每次都要  
  if(   dg   ==   null)   {  
            dg   =   DirectUtils.getGraphics(g);  
  }  
   
  好像MIDP   1.0   中无法得到一个单独的Graphics对象从而在paint(Graphics   g)   外初始化dg吧?  
   
  如果是采用局部变量的方式,那么每次生成一个局部变量得到的是不是同一个操作对象?但这样每次循环都会生成一个新的对象肯定会增加内存消耗不是?  
   
  希望知道大家在实际开发中都是怎么用的 问题点数:20、回复次数:2Top

1 楼homesos(熊猫贩子)回复于 2005-09-22 19:39:00 得分 5

Image数组中,如果你没有给Image对象赋值,不会占用内存,因为它没有内容。  
  使用全局变量比较好,这样不用老是生成销毁对象。Top

2 楼whycloud(云木)回复于 2005-09-23 08:22:10 得分 15

1。在JAVA中除了8大基本类型,其他所有得都属于引用类型,而引用类型得实质很类似C中得指针,所以如果数组初始化后,只是初始化了一列指针,当然不存在内存空间得问题。另外一点小建议,由于JAVA采用自动回收机制,你很难对其回收进行管理,所以在很多时候只要赋值为null即可,不用做太多操作,并且在J2ME中不过多得使用浮点数、三角函数一般没问题。  
  2。paint(Graphics   g)这个方法中我们可以不用生成Graphics,在系统中会自动调用repaint()方法。而这个方法中会调用paint方法。所以这个对象得生成一般不去操作Top

相关问题

  • 很基础的问题,请解答!
  • 不需要高手解答的问题
  • 5分解决基础问题,欢迎详细解答
  • 2个基础问题,急需解答,在线等待,高分!!!!
  • 一个很基础的问题,希望解答!!
  • 有关com的基础问题,请高手帮忙解答
  • 一个基础的抽象类的疑问,盼解答..在线!
  • 问大家个很基础的问题!帮我解答一下
  • 有两个基础问题,麻烦高手解答下
  • 最基础的问题,请大家帮忙解答~

关键词

  • 内存
  • null
  • 初始化
  • 局部变量
  • 生成
  • 对象
  • 全局变量
  • dg
  • paint
  • 得到

得分解答快速导航

  • 帖主:miaorenfeng
  • homesos
  • whycloud

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo