首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 文件超过32k不能编译
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-01 11:18:21 楼主
    有个城市信息文件有160多k,编译不能通过,报错
    java.lang.OutOfMemoryError: net/mobile/protocol/Countrys: Maximum byte code length (32kB) exceeded
            at net.mobile.protocol.MsgCitys. <init>(MsgCitys.java:28)
    100  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-01 11:18:251楼 得分:0
    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【ruader】截止到2008-07-01 11:18:24的历史汇总数据(不包括此帖):
    发帖数:76                发帖分:7500             
    结贴数:58                结贴分:5800             
    未结数:18                未结分:1700             
    结贴率:76.32 %            结分率:77.33 %           
    楼主加油
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-01 11:26:132楼 得分:0
    为什么不放在数据库

    或者放在一个文件里?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ZangXT
    • 等级:
    发表于:2008-07-01 11:26:423楼 得分:0
    分割一下代码就可以了。
    一个文件写那么大部是好的习惯。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-01 11:29:114楼 得分:0
    那么大的文件,维护起来太费劲,分开吧
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-01 11:35:425楼 得分:0
    全部是字符串,不好分开到几个文件
    放在一个文件里在真机里不能启动程序,
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-03 00:03:456楼 得分:0
    不要尝试用一个数组就把所有的数据都读出来,
    分块读取吧。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-03 03:05:317楼 得分:0
    顶楼上的
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-03 09:06:148楼 得分:0
    该回复于2008-07-03 09:39:17被版主删除
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-03 22:43:509楼 得分:0
    一个文件不应该写那麽大的啊!数据文件应该就用数据文件来存放,代码归代码,这是设计的基本要求啊!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-03 23:00:1910楼 得分:0
    不能写在配置文件里面吗
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-04 09:29:1811楼 得分:0
    这种信息不要写在代码里,没什么好处。有些手机对代码还有大小的限制,比如三星的D500之类的,单个类太大,程序都运行不了。

    可以把信息写到二进制文件中,到时用到时再读这个文件就是了。(手机操作二进制文件速度很快,比你加载那个160K的类快多了)

    就算是资源文件,160K也是很大,还是分成几个文件吧,弄个编号,到时具体分析用不用全部加载,或是只要加载只中一个就行。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-04 15:48:1612楼 得分:0
    如果只是编译不过的话,字符串可以打包到资源文件中,可以一起加载不释放,也可以用的时候加载,不用就释放.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jsljn272
    • 等级:
    发表于:2008-07-08 14:27:1213楼 得分:0
    好像限制是64K吧,你用的什么编译器?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-08 16:11:4614楼 得分:0
    引用 9 楼 jabeginner 的回复:
    一个文件不应该写那麽大的啊!数据文件应该就用数据文件来存放,代码归代码,这是设计的基本要求啊!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-08 17:49:0015楼 得分:0
    写成配置文件,提取出来,放在jar包里面
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-10 10:12:2416楼 得分:0
    J2ME 中规定一个类中最大数组上线时32K.如果超出了则提示数组超过32K异常.
    可以把数组写成文件.然后用流读取文件.这样能减少很多内存.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-19 23:21:0617楼 得分:0
    是64K ,(引用书上的话)MIDP 2.0的单个类的编译生成的CLASS文件,大小不能超过64K,这个问题笔者咨询过SUN的工程师,没有给出一个满意的答复.(引用完了)
    你可以把单个类分为几个类,然后编译就行了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-22 16:24:0918楼 得分:0
    将数据分类处理,分类同时将数据分到几个数据文件中。

    读取的时候也不能一下子都读到内存中。

    要建立一个简单的检索机制,这样程序就不会存在文件太大的问题了,同时运行速度会更快。
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved