5


監視應用程式

Sun JavaTM Wireless Toolkit for CLDC 提供幾種工具,可以監視應用程式的運作方式。這些工具在除錯與最佳化程式碼時,非常有用︰



備註 - 監視功能可能會降低應用程式的執行速度。




5.1 使用效能評測器

效能評測器會追蹤應用程式中的每一種方法。對於特定執行,它會指出每一種方法花費的時間長度,以及每一種方法的呼叫次數。當應用程式執行完畢,模擬器關閉之後,就會顯示效能評測器,讓您可以瀏覽方法呼叫資訊。

若要開啟效能評測器,請選擇 [編輯] > [偏好]。請參閱圖 5-1。在左側窗格中按一下 [監視器]。在右側窗格中,請核取 [啟動效能評測]。如果想要看到所有系統實作方法的效能評測資訊,請核取 [顯示系統類別]。否則,效能評測器只會顯示內含呼叫您的應用程式方法的系統方法。按一下 [確定]。

圖 5-1 開啟效能評測器

在 [偏好] 視窗中,選取 [監視器] 種類,然後核取 [啟動 Profiling]

現在,請按一下 [執行] 按鈕啟動您的應用程式。依照正常方式,與應用程式互動。完成時,關閉模擬器。就會顯示效能評測器,列出應用程式中呼叫的所有方法的相關資訊。

圖 5-2 方法效能評測器

檢視 DefaultColorPhone 的方法效能評測器

效能評測器會顯示二種資訊類型:



備註 - 從模擬器得來的效能評測值不代表在實際裝置上的實際值。



5.1.1 調用圖

調用圖顯示方法呼叫的階層。呼叫其他方法的方法會顯示為資料夾。連按兩下某方法,可開啟該方法,並查看它呼叫的方法。不呼叫其他任何方法的方法會顯示成灰色圓形。

您可以搜尋特定類別或方法名稱。請按一下 [尋找],並填入名稱。就會從調用圖中目前的選項開始執行搜尋,直到圖形末端。如果要搜尋整個調用圖,請先核取 [環繞],再按一下 [尋找] 按鈕。

按調用圖的不同節點時,效能評測器右側會顯示該節點的方法詳細資訊。

5.1.2 執行時間與呼叫次數

效能評測器視窗右側會顯示有關方法的詳細資訊。您可以看到方法名稱、呼叫次數及模擬器用於執行該方法的時間長度。執行時間以 4 種不同方式描述:

按一下任何欄,可依該欄排序。再按一次,可切換依遞增或遞減順序排序。

右側窗格顯示調用圖中,目前選取節點所包含的方法。如果要查看每一種方法,請按一下調用圖的 <root> 節點。

5.1.3 儲存與載入效能評測器資訊

若要儲存效能評測器階段作業,請在效能評測器視窗中,按一下 [儲存] 按鈕。選擇檔案名稱。

若要載入效能評測器階段作業,請選擇 [檔案] > [公用程式]。按一下 [效能評測器],然後按下 [啟動]。選取檔案後,就會顯示效能評測器視窗,列出所有階段作業資訊。


5.2 使用記憶體監視器

許多 MIDP 裝置的記憶體都很有限。Sun JavaTM Wireless Toolkit for CLDC 包含一個記憶體監視器,方便您檢查應用程式的記憶體使用率。您可以查看應用程式使用的總記憶體,以及各物件的記憶體使用率詳細清單。

若要開啟記憶體監視器,請選擇 [編輯] > [偏好]。在左側窗格中按一下 [監視器]。核取 [啟用記憶體監視器]。

下次執行模擬器時,就會出現記憶體監視器視窗,顯示應用程式長期的記憶體使用率圖形。記憶體監視器會降低應用程式啟動時的速度,因為必須記錄每一個建立的物件。

圖 5-3 記憶體監視器圖形

已選取 [圖形] 標籤的 [記憶體監視器延伸]

記憶體監視器圖形會顯示下列資訊:

請記住,若要修改堆疊大小,請選取 [編輯] > [偏好],然後選擇 [儲存] 標籤。如需詳細資訊,請參閱第 3 章

若要要求系統執行資源回收,請按一下 [執行 GC]。



備註 - 您用模擬器觀察到的記憶體使用率,不會與實際裝置上的記憶體使用率完全一樣。請記住,模擬器不代表實際裝置。而只是它支援的 API 一種可能的實作方式而已。



若要查看應用程式中各個物件的詳細資訊,請在記憶體監視器視窗中,按一下 [物件] 標籤。

圖 5-4 記憶體監視器物件顯示

[記憶體監視器延伸物件] 標籤

將顯示具有以下欄的表格︰

按一下任何欄標頭,可依該欄排序。

您可以從記憶體監視器視窗功能表選擇 [檢視] > [尋找...],以搜尋特定類別名稱。

5.2.1 儲存與載入記憶體監視器資訊

若要儲存記憶體監視器階段作業,請按一下 [儲存] 按鈕。選擇檔案名稱。

若要載入記憶體監視器階段作業,請選擇 [檔案] > [公用程式]。按一下 [記憶體監視器],然後按下 [啟動]。選取檔案後,就會顯示記憶體監視器視窗,列出所有階段作業資訊。


5.3 使用網路監視器

MIDP 應用程式至少都具有 HTTP 網路連線功能,但還是可能使用其他類型的網路連線。網路監視器提供方便的方法,讓您查看應用程式在網路上傳送與接收的資訊。如果要進行網路連線除錯,或找出最佳化網路流量的方法,這一點相當有用。

若要開啟網路監視器,請選擇 [編輯] > [偏好]。在左側窗格中按一下 [監視器]。核取 [啟用網路監視]。

下次執行模擬器時,就會出現網路監視器視窗。

圖 5-5 網路監視器

網路監視器中的 [HTTP/HTTPS] 標籤

當應用程式建立任何類型的網路連線時,都會擷取並顯示有關該連線的資訊。圖中顯示 HTTP 請求與回應。

左側的顯示會列出訊息與訊息片段的階層。按一下訊息或部分訊息,可在網路監視器右側查看詳細資訊。連按兩下訊息或部分訊息以將其展開或摺疊。

訊息內文以原始十六進制值及其對等值顯示。



備註 - 您可以檢查仍在傳送處理中的訊息。不完整訊息在訊息樹狀結構中以粗體反白顯示。



5.3.1 篩選訊息

篩選器對於檢查網路總流量的部分子集相當有用。使用的網路協定不同,篩選器設定也會不同。

按下 [篩選器設定] 按鈕即可使用篩選器。請依據您的需要變更篩選器設定。


表格 5-1 網路監視器篩選器設定

網路協定

篩選器設定

HTTP/HTTPS

輸入文字以比對 HTTP 訊息的各個部分: URL、狀態行、標頭或內文。例如,在 [URL] 欄位中輸入 slashdot,將只篩選出其 URL 包含 slashdot 的訊息。

SMS/CBS

您可以指定協定、訊息類型與比對方向。此外,您可以輸入文字,以比對寄件者、收件者及訊息內容。

MMS

輸入文字,以比對方向、寄件者、收件者以及副本/ (cc) 和密件副本 (bcc) 收件者。此外,您可以篩選主旨、內容 ID、內容位置、MIME 類型與編碼。

OBEX、SPP/L2CAP

您可以使用 URL 或標頭內容進行篩選。

APDU、JCRMI

篩選 URL 或訊息內容。

SIP

沒有

通訊端、SSL、資料封包、通訊

輸入文字,以比對連線字串 (URL) 或內容。

輸入篩選字串後,按下 [確定] 回到網路監視器。這時將核取 [篩選器] 核取方塊,表示正在使用篩選器。若要停用篩選器,查看所有訊息,請取消核取此核取方塊。

5.3.2 排序訊息

若要依特定順序排列訊息樹狀結構,請按一下 [排序依據] 組合方塊,並選擇條件。

5.3.3 儲存與載入網路監視器資訊

若要儲存網路監視器階段作業,請從網路監視器視窗功能表選擇 [檔案] > [儲存] 或 [檔案] > [另存新檔]。選擇檔案名稱。

若要載入網路監視器階段作業,請選擇 [檔案] > [公用程式]。從清單中選取 [網路監視器],然後按下 [啟動]。選取檔案後,就會顯示網路監視器視窗,列出所有階段作業資訊。

5.3.4 清除訊息樹狀結構

若要移除網路監視器上的所有訊息,請從網路監視器視窗功能表選擇 [編輯] > [清除]。