Q: 按理說NOKIA的手機應(yīng)該比moto及國產(chǎn)手機(MTK)性能要好一點,但是一個大的jar包(比如3MB)的J2ME程序在nokia上跑不起來,但在moto及國產(chǎn)手機上卻能跑起來?
A:一個經(jīng)驗豐富的高手告訴我說,主要是兩者的JVM實現(xiàn)機制的差別。前者是加載所有的內(nèi)容到內(nèi)存,后者是按需加載。所以前者可以在有限的JAR包中提高性能,后者呢?各有利弊吧。
Q:一個J2ME程序,在WTK下面可以很好的運行,但放在我的3250上面,可以成功安裝,運行時卻沒有一點反應(yīng)。真是郁悶。
A: 這種情況一般是由于內(nèi)存占用的問題。WTK是在PC上跑的,內(nèi)存相對來說不吃緊。你的J2ME程序如果在WTK模擬器的范圍內(nèi),可以跑起來。但在手機上,卻沒有那么多的內(nèi)存可用,自然跑不起來。
Q:我的一個J2ME程序,在WTK下面可以正常的從Form切換到Canvas,但放到手機上,卻死活切不過來,氣死我啦。
A:這時,主要原因也可能是內(nèi)存占用。
1、showNotify與hideNotify調(diào)用的時機。
顯示順序:canvas -> Form -> Canvas
在canvas被繪制前,showNotify()會被調(diào)用,在showNotify()執(zhí)行過程中如果有按鍵,則存在事件隊列中,等showNotify()返回后在執(zhí)行。
如果這個canvas設(shè)置了全屏,則showNotify()之后會調(diào)用sizeChanged()
showNotify返回后,開始執(zhí)行paint()。
這是如果要切換到Form,則會先調(diào)用hideNotify(),然后顯示Form。從Form切換到canvas,則又會調(diào)用showNotify(),返回后,調(diào)用paint()。
2、在eclipse里面,也可以像JBuilder那樣一次修改一個變量在多個地方的使用,方法是:選擇變量 ,shift+alt+R,修改,確定,搞定
3、2ME中,如果想讀取文本文件,最好是把這個文本文件用utf-8編碼,然后在讀取的時候,new String(bytes,"utf-8");
4、在eclipse中,如果出現(xiàn)不能調(diào)試的情況,你可以試試把你之前設(shè)置的斷點都清除掉,然后在try一下。
5、在模擬器上,大小寫不敏感,不區(qū)分大小寫。但是在我的NOKIA3250上,是區(qū)分大小寫的 。"map.PNG"在wtk模擬器上用map.png可以跑,在手機上是不行的。
6、MIDP 2.0安全機制 與 MIDlet 數(shù)字簽名
MIDP 2.0 為 GSM/UTMS 設(shè)備定義了 4 種保護域: manufacturer( 設(shè)備制造商 ) , operator( 移動運營商 ) , trusted third party( 可信任的第三方 ) , and untrusted( 不受信任域 ) ,除了 untrusted 域外,每個保護域都對應(yīng)一組根證書,用于簽名 MIDlet 的簽名證書的根證書必須包含在這些根證書中,使用不同的簽名證書簽名的 MIDlet 將被自動歸類予根證書所屬的保護域,根證書與保護域的關(guān)系是:一個保護域可以有許多個根證書,而一個根證書只能對應(yīng)于一個保護域。
具體來講, manufacturer 域?qū)儆谠O(shè)備制造商,其根證書是設(shè)備制造商自己的根證書;而 operator 域運營商,一般使用其 SIM 卡中的根證書;而 trusted third party 域則預(yù)置了全球知名的數(shù)字證書頒發(fā)機構(gòu) (CA) 的根證書,用于驗證由 CA 頒發(fā)的 MIDlet 簽名證書;而 untrusted 域沒有根證書,將用于沒有簽名的 MIDlet 和 MIDP 1.0 。
7、當byte[][] bytes = new byte[2][3]時,bytes.length = 2, byte[0].length = 3
8、while(true)循環(huán)的一種替代 for(;;){}
9、javap命令的作用
javap是j2se中的一個查看類的方法聲明的工具,比如:
javap -private java.util.Calendar
可以看到這個類的方法聲明。
10、Graphics的translate方法的用法
g.translate(x,y)
把繪制的起始坐標移動到x,y位置,繪制的時候,都是相對于(x,y),如果想恢復(fù)到默認的坐標系,則g.translate(-x,-y);
(轉(zhuǎn)于http://jacky-zhang.javaeye.com/blog/153654)
A:一個經(jīng)驗豐富的高手告訴我說,主要是兩者的JVM實現(xiàn)機制的差別。前者是加載所有的內(nèi)容到內(nèi)存,后者是按需加載。所以前者可以在有限的JAR包中提高性能,后者呢?各有利弊吧。
Q:一個J2ME程序,在WTK下面可以很好的運行,但放在我的3250上面,可以成功安裝,運行時卻沒有一點反應(yīng)。真是郁悶。
A: 這種情況一般是由于內(nèi)存占用的問題。WTK是在PC上跑的,內(nèi)存相對來說不吃緊。你的J2ME程序如果在WTK模擬器的范圍內(nèi),可以跑起來。但在手機上,卻沒有那么多的內(nèi)存可用,自然跑不起來。
Q:我的一個J2ME程序,在WTK下面可以正常的從Form切換到Canvas,但放到手機上,卻死活切不過來,氣死我啦。
A:這時,主要原因也可能是內(nèi)存占用。
1、showNotify與hideNotify調(diào)用的時機。
顯示順序:canvas -> Form -> Canvas
在canvas被繪制前,showNotify()會被調(diào)用,在showNotify()執(zhí)行過程中如果有按鍵,則存在事件隊列中,等showNotify()返回后在執(zhí)行。
如果這個canvas設(shè)置了全屏,則showNotify()之后會調(diào)用sizeChanged()
showNotify返回后,開始執(zhí)行paint()。
這是如果要切換到Form,則會先調(diào)用hideNotify(),然后顯示Form。從Form切換到canvas,則又會調(diào)用showNotify(),返回后,調(diào)用paint()。
2、在eclipse里面,也可以像JBuilder那樣一次修改一個變量在多個地方的使用,方法是:選擇變量 ,shift+alt+R,修改,確定,搞定
3、2ME中,如果想讀取文本文件,最好是把這個文本文件用utf-8編碼,然后在讀取的時候,new String(bytes,"utf-8");
4、在eclipse中,如果出現(xiàn)不能調(diào)試的情況,你可以試試把你之前設(shè)置的斷點都清除掉,然后在try一下。
5、在模擬器上,大小寫不敏感,不區(qū)分大小寫。但是在我的NOKIA3250上,是區(qū)分大小寫的 。"map.PNG"在wtk模擬器上用map.png可以跑,在手機上是不行的。
6、MIDP 2.0安全機制 與 MIDlet 數(shù)字簽名
MIDP 2.0 為 GSM/UTMS 設(shè)備定義了 4 種保護域: manufacturer( 設(shè)備制造商 ) , operator( 移動運營商 ) , trusted third party( 可信任的第三方 ) , and untrusted( 不受信任域 ) ,除了 untrusted 域外,每個保護域都對應(yīng)一組根證書,用于簽名 MIDlet 的簽名證書的根證書必須包含在這些根證書中,使用不同的簽名證書簽名的 MIDlet 將被自動歸類予根證書所屬的保護域,根證書與保護域的關(guān)系是:一個保護域可以有許多個根證書,而一個根證書只能對應(yīng)于一個保護域。
具體來講, manufacturer 域?qū)儆谠O(shè)備制造商,其根證書是設(shè)備制造商自己的根證書;而 operator 域運營商,一般使用其 SIM 卡中的根證書;而 trusted third party 域則預(yù)置了全球知名的數(shù)字證書頒發(fā)機構(gòu) (CA) 的根證書,用于驗證由 CA 頒發(fā)的 MIDlet 簽名證書;而 untrusted 域沒有根證書,將用于沒有簽名的 MIDlet 和 MIDP 1.0 。
7、當byte[][] bytes = new byte[2][3]時,bytes.length = 2, byte[0].length = 3
8、while(true)循環(huán)的一種替代 for(;;){}
9、javap命令的作用
javap是j2se中的一個查看類的方法聲明的工具,比如:
javap -private java.util.Calendar
可以看到這個類的方法聲明。
10、Graphics的translate方法的用法
g.translate(x,y)
把繪制的起始坐標移動到x,y位置,繪制的時候,都是相對于(x,y),如果想恢復(fù)到默認的坐標系,則g.translate(-x,-y);
(轉(zhuǎn)于http://jacky-zhang.javaeye.com/blog/153654)