初識Doja(縮小你的程式)

2021-04-06 22:07:41 字數 2793 閱讀 1508

在doja

環境裡,

jar檔案和

scratchpad

檔案的的大小是有限制的,具體的限制如下表所示:

版本jar

檔案大小(

kbyte

)scratchpad

檔案大小(

kbyte

)doja 1.0

3050

doja 2.0

30100

doja 2.1

30200

doja 2.2

30200

doja 3.0

30200

doja 3.5

100400

出於這種限制,下面我將一些常見壓縮程式的方法介紹個大家。

1.

化你的資源檔案

1.1.

縮小的大小

在jar

檔案裡主要存放了程式用到的資源檔案(,聲音,資料等檔案)和經過編譯後的

class

檔案。很明顯,最直接的方式就是通過減少使用的數量來減小

jar檔案的大小,另外我們還可以通過縮小單個的大小,減少的顏色數來減小

jar檔案的大小。

1.2.

在scratchpad

檔案中儲存資源檔案

scratchpad

檔案中來代替將他們儲存在

jar檔案中。然後我們就可以從

scratchpad

檔案中讀取資料而不是使用資源檔案直接讀取了。

2. 優化類

2.1

減少類的數量

通過分析

class

檔案,我們發現包名稱,類名稱,方法名稱和變數名稱全部是以字串的形式儲存。我們將儲存這些資料的區域叫做常量池,並且這部分也是被類檔案所共享的最頻繁的區域。

例如以下程式:

import com.nttdocomo.ui.*; }

以下被選擇的部分就為存放

類的常量池:

2.2

縮短類名稱

通過縮短類的名稱,我們同樣可以達到減少

class

檔案大小的目的。

比較如下兩個類的定義:

// class 1

public class helloworld

}// class 2

public class a

}class a

必class helloworld

減少了18

個位元組。

3. 優化方法和變數

3.1

減少方法的數量

我們可以通過將方法的實現體替換方法的呼叫。

比方說以下兩個程式:

// program 1

public void start()

public void add(panel p)

// program 2

public void start()檔案1

:618 bytes

,檔案2

:530 bytes。

3.2

縮短方法和變數的名稱

3.3

讓方法和變數擁有相同的名稱

通常情況下,讓方法和變數使用相同的名稱,那麼這個名稱的字串將會被共享,從而我們也可以減少

class

檔案的大小。

3.4

使用本地變數

大家都知道使用變數就需要占用記憶體空間,然而定義類的變數需要咱用堆記憶體,而定義本地臨時變數則咱用棧記憶體。因此我們也可以通過此方法來減少

class

檔案的大小。

3.5

較少變數的數量

這裡我主要介紹一下通過比較陣列和其他變數的使用來減少

class

檔案的大小。大家看以下例子;

// declation 1

int aaa = 1;

int bbb = 2;

int ccc = 3;

// declation 2

int test = ;

具體的看下表

逐個定義

使用陣列定義

單個變數

296 bytes

303 bytes

兩個變數

330 bytes

307 bytes

三個變數

364 bytes

311 bytes

十個變數

607 bytes

319 bytes

3.6

縮短字串常量

對於任何字串,如不需頻繁變動,我們應該將它直接寫到**中,而不是使用常量來代替。另外我們也可以通過在

scratchpad

檔案中定義或在

adf識別符號

中定義來減少

class

檔案的大小。

3.7

盡量不使用中間媒介變數

這裡我還是舉例來說明吧:

// file 1

public void start()

// file 2

public void start()

很明顯,程式

2比程式

1減少了一些**。

到這裡,我已經把能使用的方法全部介紹完了,但在實際的運用中還需要根據具體的情況進行適當的調整,這就要看你的了。

以上部分資料**於

doja

開發網http://www.doja-developer.net

縮小你的夢想

在英國最古老的建築物威斯敏斯特教堂旁邊,矗立著一塊墓碑,上面刻著一段非常著名的話 當我年輕的時候,我夢想改變這個世界 當我成熟以後,我發現我不能夠改變這個世界,我將目光縮短了些,決定只改變我的國家 當我進入暮年以後,我發現我不能夠改變我們的國家,我的最後願望僅僅是改變一下我的家庭,但是,這也不可能。...

初識Windows程式 的解析

一.窗體的屬性 二.窗體控制項 1.標籤 lable 字首 lbl 2.文字框 textbox 字首 txt 3.組合框 combobox 字首 cbo 4.按鈕 button 字首 btn 三.為控制項註冊事件 點選控制項,點選閃電,選擇要註冊的事件雙擊 如果想要刪除事件 那就需要在刪除之後在.d...

我的小程式之旅一 初識小程式

幾個常用小程式的開放平台 釘釘開放平台 支付寶開放平台 抖音開放平台 優點 1,不用安裝,即開即用,用完就走。省流量,省安裝時間。2,對於小程式擁有者來說,開發成本更低,他們可以更多財力,人力,精力放在如何運營好產品,做好內容本身 缺點 3,小而美,做垂直,功能複雜度有限制,如果想做成龐大的獨角獸,...