?? 2.htm
字號:
src="2.files/menu_dotline.gif" width=138></TD></TR>
<TR>
<TD width=15> </TD>
<TD width=143 height=23><A class=css2
href="http://www.inhand.com.cn/solution/j2me/j2me_6.htm">第六章:CLDC
API</A></TD></TR>
<TR>
<TD align=middle colSpan=2><IMG height=1
src="2.files/menu_dotline.gif" width=138></TD></TR>
<TR>
<TD width=15 height=23> </TD>
<TD width=143 height=23><A class=css2
href="http://www.inhand.com.cn/solution/j2me/j2me_7.htm">第七章:使用Kjava
GUI組件的開發</A></TD></TR>
<TR>
<TD align=middle colSpan=2><IMG height=1
src="2.files/menu_dotline.gif" width=138></TD></TR>
<TR>
<TD width=15 height=23> </TD>
<TD width=143 height=23><A class=css2
href="http://www.inhand.com.cn/solution/j2me/j2me_8.htm">第八章:使用Kjava事件處理的開發</A></TD></TR>
<TR>
<TD align=middle colSpan=2><IMG height=1
src="2.files/menu_dotline.gif" width=138></TD></TR>
<TR>
<TD width=15> </TD>
<TD width=143 height=23><A class=css2
href="http://www.inhand.com.cn/solution/j2me/j2me_9.htm">第九章:MIDP
API</A></TD></TR>
<TR>
<TD align=middle colSpan=2><IMG height=1
src="2.files/menu_dotline.gif" width=138></TD></TR>
<TR>
<TD width=15 height=23> </TD>
<TD width=143 height=23><A class=css2
href="http://www.inhand.com.cn/solution/j2me/j2me_10.htm">第十章:CDC
API</A></TD></TR>
<TR>
<TD align=middle colSpan=2><IMG height=1
src="2.files/menu_dotline.gif" width=138></TD></TR>
<TR>
<TD width=15> </TD>
<TD width=143 height=23><A class=css2
href="http://www.inhand.com.cn/solution/j2me/j2me_11.htm">第十一章:總結</A></TD></TR>
<TR>
<TD align=middle colSpan=2><IMG height=1
src="2.files/menu_dotline.gif" width=138></TD></TR>
<TR>
<TD align=middle colSpan=2><IMG height=1
src="2.files/menu_dotline.gif"
width=138></TD></TR></TBODY></TABLE></TD>
<TD width=1 bgColor=#cccccc><IMG height=1 src="2.files/0.gif"
width=1></TD>
<TD vAlign=top width=594>
<TABLE cellSpacing=0 cellPadding=0 width=594 border=0>
<TBODY>
<TR>
<TD width=30><IMG height=21 src="2.files/0.gif"
width=30></TD>
<TD width=534>
<TABLE cellSpacing=0 cellPadding=0 width=534 border=0>
<TBODY>
<TR>
<TD class=sk height=20><IMG height=20
src="2.files/0.gif" width=20></TD></TR>
<TR>
<TD class=sk><IMG height=20
src="2.files/cell1_04.jpg" width=100
border=0></TD></TR>
<TR>
<TD class=sk bgColor=#cccccc><IMG height=1
src="2.files/0.gif" width=1></TD></TR>
<TR>
<TD class=sk height=20> </TD></TR>
<TR>
<TD class=sk>
<TABLE cellSpacing=0 cellPadding=0 width=534
border=0>
<TBODY>
<TR>
<TD vAlign=top
width="98%"><B>第二章:</B><B>開發J2ME應用程序</B>
<UL>
<LI><B>介紹</B><BR>在這一章中,我們將復習一下在為小型設備開發應用程序時需要牢記的一些注意事項。我們將看一下在使用
J2SE 編譯 J2ME
應用程序時調用編譯器的方法。最后我們將探究打包和部署,以及在這個過程中提前驗證所扮演的角色。
</LI></UL>
<P> </P>
<UL>
<LI><B>設計開發小型設備應用程序要注意的事項</B><BR>為小型設備開發應用程序,需要您在設計階段制定某種策略。最好是在開始編寫代碼之前,戰略性地為小型設備設計應用程序。由于無法考慮到所有的
"gotchas"
,在開發應用程序之前更正代碼是一件很痛苦的工作。 <BR>下面是一些可以考慮的設計策略:<BR>·
保持程序簡單。除去不必要的功能,如果可能的話,將它們做成獨立的、次要的應用程序。 <BR><BR>·
程序越小越好。這一點對所有的開發者來說應該是顯而易見的。越小的程序占用的設備內存越少,并且花費的安裝時間越少。可考慮將您的
Java 應用程序打包,作為壓縮的 Java 檔案 (jar) 文件。<BR><BR>·
運行時占用最少的內存。為盡可能減少運行時占用的內存,使用標量類型代替對象類型。同時,不依賴垃圾收集程序。您應該在使用完對象時將對象引用置空,這樣可有效管理內存。另外一種減少運行時所需內存的方法是使用“惰性”實例,它僅在必需時才分配對象。其它一些減少小型設備上過量和峰值內存使用的方法有快速釋放資源、重新使用對象以及避免異常。
</LI></UL>
<P> </P>
<UL>
<LI><B>設計開發移動設備應用程序的注意事項</B><BR>開發移動設備應用程序的規則與我們前面提及的開發小型設備的相同:先設計再編碼。讓我們檢查一下開發移動設備應用程序時可考慮的一些設計建議: <BR>·
讓服務器做大部分的工作。將計算性較強的任務放到服務器上,讓服務器為您做這些工作。讓移動設備處理界面和最少的計算工作,而讓服務器做繁重的工作。當然,您為其開發應用程序的移動設備對設備連接到服務器上的難易程度和頻率有重要影響。 <BR><BR>·
謹慎地選擇編程語言。J2ME
仍然處于成長期,可能還不是最好的選擇。根據您的需要,選擇其它的面向對象語言,如
C++,可能會更好。 </LI></UL>
<P> </P>
<UL>
<LI><B>性能注意事項</B><BR>為性能而編碼。下面有一些以獲得最優性能為目標的編碼方法:<BR>·
使用局部變量。訪問局部變量比訪問類成員更快。<BR>·
避免字符串串聯。字符串串聯不僅會降低性能,而且會增加應用程序的內存峰值占用量。<BR><BR>·
使用線程,避免同步。任何運行時間超過 1/10
秒的操作都需要一個獨立的線程。避免同步同樣能提高性能。<BR><BR>· 使用模型視圖控制器
(MVC) 分離模型。MVC 將代碼中控制顯示的邏輯分離出來。 </LI></UL>
<P> </P>
<UL>
<LI><B>編譯注意事項</B><BR>同其它的 Java
應用程序一樣,您在打包和部署應用程序之前要先進行編譯。盡管有了 J2ME,您仍然使用 J2SE
編譯器并且需要用適當的選項來進行調用。<BR>特別的,您需要使用 -bootclasspath
選項來指示編譯器使用 J2ME 類,而不是 J2SE 類。不要在編譯器的 CLASSPATH
中設置配置類。這樣將導致運行時錯誤,因為不管 CLASSPATH 中有什么,編譯器將首先自動搜索
J2SE 的核心類。換句話說,編譯器將無法引用特定 J2ME
配置中缺少的類或方法,結果導致在嘗試運行應用程序時出現運行時錯誤。 </LI></UL>
<P> </P>
<UL>
<LI><B>打包和部署注意事項</B><BR>由于 J2ME
是為內存有限的小型設備設計的。大部分常用的 Java
提前驗證已經從虛擬機中除去以形成一個較小的覆蓋區域。結果,在配置之前提前驗證 J2ME
應用程序就很有必要。在運行時會附加一個檢查以確保這個類在提前驗證之后還沒有改變過。 <BR>如何嚴格執行提前驗證或者檢查類的正確性依靠的是工具包。CLDC
提供一個稱為提前驗證的命令行實用程序,它能夠進行實際的驗證并且可以把一些額外的信息插入到類文件中去。MIDP
使用無線工具包,這種工具包提供一種 GUI
工具,也可從命令行運行這種工具。<BR>部署工作取決于您要部署的平臺。應用程序必須以一種適合
J2ME 設備類型的格式進行打包和配置,就如簡表定義的那樣。
</LI></UL></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD>
<TD width=30><IMG height=21 src="2.files/0.gif"
width=30></TD></TR></TBODY></TABLE></TD>
<TD width=1 bgColor=#cccccc><IMG height=1 src="2.files/0.gif"
width=1></TD></TR></TBODY></TABLE></TD></TR>
<TR>
<TD>
<TABLE cellSpacing=0 cellPadding=0 width=755 border=0>
<TBODY>
<TR>
<TD width=1 bgColor=#cccccc><IMG height=1 src="2.files/0.gif"
width=1></TD>
<TD width=158 bgColor=#eeeeee height=81><IMG height=1
src="2.files/0.gif" width=1></TD>
<TD width=1 bgColor=#cccccc><IMG height=1 src="2.files/0.gif"
width=1></TD>
<TD vAlign=bottom><IMG height=31 src="2.files/eng_bottom3.gif"
width=594 useMap=#Map border=0></TD>
<TD width=1 bgColor=#cccccc><IMG height=1 src="2.files/0.gif"
width=1></TD></TR></TBODY></TABLE></TD></TR>
<TR>
<TD bgColor=#666666 height=20><FONT color=#ffffff
align="center"><BR> © 北京映翰通網絡技術有限公司 版權所有<BR> </FONT>
</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><MAP name=Map><AREA
shape=RECT coords=506,5,592,26
href="http://www.inhand.com.cn/solution/j2me/j2me_2.htm#top"></MAP></BODY></HTML>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -