在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,小而美,做垂直,功能複雜度有限制,如果想做成龐大的獨角獸,...