请问为什么在Nokia 60系列的手机上多次使用Image.createImage(data,0,len)要出错???

HashCodeWithJava 2004-06-16 10:28:24
大家看一下我的代码.
我要从一个数组中创建一张png图片.使用的是Image.createImage函数

可是一旦多运行几次,它就报告java.lang.IllegalArgumentException的错误
而相同的图片,我却可以在第一次成功调用.但是以后再调用几次的时候就报告错误了.


// 创建Image
image = Image.createImage(ImageBuf, 0, Size);

而在Nokia 60的模拟器上没有出现任何问题.在Nokia 40的机器上也没有出现任何问题.


请问大家,这是怎么回事的?
...全文
263 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
dd777 2004-09-02
  • 打赏
  • 举报
回复
to: tangl_99(Min-Kyeong)
你的qq号好象不需要验证呀,加你了,怎么不回话?
HashCodeWithJava 2004-08-26
  • 打赏
  • 举报
回复
还有,我现在两点.
1.如果直接
Image.createImage("/xxx.png")
就不会有任何问题

2.如果是在Nokia 7610(Symbian OS 7.0)的机器上运行,就不会出现上述这个问题.
似乎这个问题只有在Nokia 3650和Nokia 7650或者说是Symbian OS 6.0上才有.

大家的测试结果如何?
HashCodeWithJava 2004-08-20
  • 打赏
  • 举报
回复
Up
HashCodeWithJava 2004-08-19
  • 打赏
  • 举报
回复
dd777(grass)
我的QQ:88664220
加我的时候注明(Nokia的bug)

感谢你的测试。
dd777 2004-08-11
  • 打赏
  • 举报
回复
最新实验现象:

针对出现问题的手机,发现跟装载的图片的色彩数有关,跟2的次方数比较接近的图片几乎没有问题,而偏差比较远的就会出问题,我正在继续做实验找规律。

大家有解决的吗?
bobshi 2004-08-11
  • 打赏
  • 举报
回复
我之前也遇到过这种问题,图片用的时候再加载,不用的时候再释放掉,

这样会比较好一点。
Shires 2004-08-11
  • 打赏
  • 举报
回复
mark
lumber 2004-08-11
  • 打赏
  • 举报
回复
Image.createImage这个方法很耗内存的,多次使用后报错应该是内存不够的原因
wanglefox 2004-08-11
  • 打赏
  • 举报
回复
应该是手机内存空间 大小的问题。
如果有Image不需要,把它null了~!
不然累积下了有可能内存不够。

dd777 2004-08-11
  • 打赏
  • 举报
回复
大家看看这个代码,背景切换没问题吧,但是在S60真机上换一定次数之后,就会出错
不知道其他机器是否有问题,我怀疑这个S60 kvm的bug.
不仅是图片,我发现只要在程序运行中,反复生成新的对象(任意的,包括Form Canvas)
只要超过大概一定的数目,无论是多么简单的代码,都会出错。
必须一开始在MIDlet运行的唯一一次初始化的过程中加载所有的资源和对象,这样就没问题了。
中途new 肯定出问题。

大家可以试试看。
在/res/下随便加3个图片以测试,
名字是background1.png background2.png background3.png

import javax.microedition.lcdui.*;
import com.nokia.mid.ui.FullCanvas;

public class Displayable1
extends FullCanvas{
int num = 1; // 图片编号 一共3个
Image imgBackground = null; // 图片

public Displayable1() {
try {
jbInit();
}
catch (Exception e) {
e.printStackTrace();
}
}

private void jbInit() throws Exception {
// Set up this Displayable to listen to command events
loadBack(1);

}

protected void paint(Graphics g) {
/** @todo Add paint codes */
if (imgBackground != null)
g.drawImage(imgBackground, 0, 0, 20);
}

public void keyPressed(int keyCode) {
if(keyCode == Canvas.KEY_STAR){
loadBack(num%3 + 1);
num ++;
}
if(keyCode == Canvas.KEY_POUND){
MIDlet1.quitApp();
}
repaint();
}

private void loadBack(int backNum) { // 换新背景图
try {
imgBackground = null;// 不加也行 s40上最好加
System.gc(); // 不加也行 s40上最好加
imgBackground = Image.createImage("/res/background" + backNum + ".png");
}
catch (Exception e) {
System.out.println("error get img background");
}
}

hu1dao 2004-08-09
  • 打赏
  • 举报
回复
有过这个问题,没有解决掉
后来饶过了
dd777 2004-08-09
  • 打赏
  • 举报
回复
哥们,我也遇到同样的问题,看来是60的kvm有问题了
我做实验,发现跟装载的内存空间有关,大概在70k以内就没问题
一旦重复装载然后null gc()大于这个数,就出现不能装载新图的现象
而且再操作新的装载图的话,出现 Exception

你解决了吗?

欢迎交流一下
内容概要:本文档详细介绍了“南方数码房地一体内外业软件”的操作流程,涵盖从数据准备、外业调查、内外业数据对接,到内业数据处理与成果输出的完整工作链。主要包括调查底图制作(支持DWG、MDB、SHP及倾斜三维模型等多种数据源)、导出外业IDB工程文件、平板端外业调查(宗地与房屋核实、电子签章表确认、照片导出)、内外业数据对接(DB与照片数据导入),以及内业的宗地信息完善、界址属性设置、自然幢生成、房屋面积计算、户属性录入,并最终输出宗地图、房产分户图、各类报表及MDB数据库等成果。; 适合人群:从事农村房地一体权籍调查的测绘、不动产登记及相关地理信息行业的内业处理人员、外业调查员和技术管理人员,需具备基础GIS或CAD操作能力; 使用场景及目标:①指导用户系统完成从原始数据到不动产登记成果的全流程作业;②实现外业调查数据高效采集与内业自动化处理衔接,提升房地一体确权登记工作的标准化与效率; 阅读建议:建议结合实际项目按章节顺序操作,重点关注数据格式转换、IDB工程交互逻辑及成果图输出设置,配合软件界面逐步实践,确保各环节数据完整性与准确性。
内容概要:本文围绕“面向高精度电流控制的PMSM多参数PSO辨识模型研究”,结合Simulink仿真实现,系统探讨了在高性能电机控制背景下,如何利用粒子群优化算法(PSO)对永磁同步电机(PMSM)电流环的关键参数进行多参数协同辨识。研究通过建立PMSM的精确动态数学模型,设计基于PSO的参数辨识框架,实现了对电机电感、电阻、反电动势常数等核心参数的高效在线或离线辨识,有效提升了电流控制的精度与系统鲁棒性。文中详细阐述了PSO算法的实现机制,包括适应度函数构造、参数编码策略与收敛判据,并在Simulink中构建了完整的联合仿真平台,通过大量仿真实验验证了该方法相较于传统辨识技术在准确性、稳定性和适应性方面的显著优势,为高动态性能电机驱动系统的参数获取提供了可靠的技术路径。; 适合人群:自动化、电气工程、控制科学与工程等相关专业的研究生、科研人员及从事高性能电机驱动系统开发的工程师。; 使用场景及目标:①应用于高端制造、新能源汽车、航空航天等领域中对电流控制精度要求极高的PMSM控制系统开发;②作为智能优化算法(如PSO)在电机参数辨识领域应用的典型案例,服务于教学演示与学术研究;③为后续开展自适应控制、智能容错控制及多物理场耦合建模等前沿课题提供坚实的参数辨识基础和技术参考。; 阅读建议:读者应具备扎实的电机控制理论基础(如FOC矢量控制、现代控制理论)以及熟练的MATLAB/Simulink仿真能力,建议在学习过程中结合文中的仿真模型,动手复现PSO参数辨识的完整流程,深入分析算法参数设置对辨识结果的影响,从而全面掌握其工程应用精髓。
内容概要:本文提出了一种基于粒子群优化算法(PSO)的配电网光伏储能双层优化配置模型,以IEEE33节点系统为标准算例,实现光伏发电单元与储能系统的协同选址与定容优化。该模型采用双层架构设计,上层以投资成本、运行经济性及网络损耗最小为目标优化设备配置方案,下层通过潮流计算评估系统在不同负荷场景下的运行性能,综合考虑电压稳定性、供电可靠性及可再生能源消纳能力,最终通过Matlab编程实现完整求解流程,为高渗透率分布式电源接入背景下的配电网规划提供了有效的技术支撑。; 适合人群:具备电力系统分析基础和Matlab编程能力的研究生、高校科研人员及从事新能源并网、智能配电网规划与优化的工程技术人员。; 使用场景及目标:①研究含高比例光伏接入的配电网规划与运行协同优化问题;②掌握双层优化建模方法与粒子群算法在复杂电力系统问题中的应用技巧;③为实际工程中分布式光伏与储能系统的科学选址与容量配置提供理论依据与仿真验证平台。; 阅读建议:建议读者结合Matlab代码深入理解双层迭代求解机制,重点关注算法收敛性分析、参数敏感性测试,并可通过更换初始种群、调整权重因子或引入其他标准测试系统(如IEEE69节点)进行对比实验,进一步验证所提模型的普适性与鲁棒性。

13,096

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧