Màn hình giao diện công cụ theo dõi việc sử dụng bộ nhớ

Một phần của tài liệu xây dựng bản đồ trên điện thoại di động có hỗ trợ java (Trang 128 - 131)

5.4.2. Các nguyên tắc tối ưu hóa việc sử dụng bộ nhớ :

- Sử dụng càng ít đối tượng càng tốt và chỉ cấp phát bộ nhớ khi cần thiết.

- Đối với các đối tượng khơng cịn cần được sử dụng nữa, nên gán cho chúng

giá trị null để giúp garbage collector nhận diện được vùng nhớ khơng cịn được sử dụng nữa để thu hồi.

- Bộ nhớ của các thiết bị di động rất hạn chế, do vậy, trong thiết kế chương

trình, chúng ta nên tránh việc xây dựng các hàm có nhu cầu được cấp phát khối

lượng bộ nhớ lớn.

- Trong J2ME, việc thu hồi bộ nhớ khơng cịn được sử dụng được thực hiện

thông qua garbage collector. Tuy nhiên, khi nào việc thu dọn này được thực hiện là

do người lập trình tự quyết định. Mặt khác, việc thực thi hàm thu hồi bộ nhớ

giải phóng bộ nhớ nếu khơng cần sử dụng nữa và chỉ nên gọi chức năng thu hồi bộ nhớ khi cần thiết.

- Trong ngôn ngữ Java, chúng ta có thể nối nhiều chuỗi ký tự chỉ đơn giản

bằng cách thực hiện tốn tử “+” như ví dụ sau :

public String indent (String line, int spaces) {

String strOut = “”;

for (int i=0;i<spaces;i++) { strOut += “ ”; } return strOut; }

Tuy nhiên, xét về hiệu suất hoạt động, cách làm như vậy sẽ không tốt bởi vì

mỗi khi thực hiện việc nối 2 chuỗi ký tự (kiểu String), Java sẽ tạo một đối tượng

kiểu StringBuffer, sau đó gọi thực hiện phương thức append của đối tượng này 2

lần để nối 2 chuỗi ký tự lại và cuối cùng, thực hiện phương thức toString() để tạo

đối tượng kiểu String rồi trả về kết quả. Nếu việc nối chuỗi được thực hiện nhiều

lần, đặc biệt là trong một vòng lặp sẽ dẫn đến việc tạo rất nhiều đối tượng kiểu

String và StringBuffer. Kết quả là khiến cho chương trình sử dụng và tạo nhiều rác trong bộ nhớ, mặt khác sẽ làm tăng thời gian xử lý của chương trình do phải mất nhiều thời gian khởi tạo các đối tượng. Cải tiến đoạn chương trình trên như sau :

public String indent (String line, int spaces) {

StringBuffer out = new StringBuffer(); for (int i=0;i<spaces;i++)

{

out.append(‘ ’); }

return out.toString(); }

Chương 6 : THỬ NGHIỆM – HƯỚNG DẪN CÀI ĐẶT VÀ SỬ DỤNG

6.1. Cách cài đặt chương trình trên máy ảo :

Quá trình thử nghiệm được thực hiện trên 4 loại máy ảo : máy ảo chuẩn của Sun, máy ảo Nokia, Sony Ericsson, Samsung và Siemens (xem giới thiệu về các máy ảo này trong phần phụ lục B).

6.1.1. Trình giả lập Sony Ericsson :

Phiên bản mới nhất được hãng Sony Ericsson cung cấp miễn phí hiện nay là

bản 2.2.0. Tập tin cài đặt semc_j2me_sdk_2_2_0.exe có dung lượng là 53,4 MB. Việc cài đặt được tiến hành như các chương trình bình thường.

Sau khi cài đặt xong, gọi thực thi chương trình như sau :

Start Menu\Sony Ericsson\WTK2\Run MIDP Application

Trên hộp thoại hiện ra, chọn đường dẫn đến tập tin HoChiMinhCity_Map.jad

Một phần của tài liệu xây dựng bản đồ trên điện thoại di động có hỗ trợ java (Trang 128 - 131)

Tải bản đầy đủ (PDF)

(164 trang)