為了利用debug工具,大多數程式猿開發的時候使用as的debug版本,最終發布版本是release版本,但是在這個轉變的過程中可能會出現一些意外。
2、混淆問題: 一般情況下,debug版本的混淆是關閉的,release版本是開啟的
這個坑我是多次涉入。
(1)使用gson或者fastgson 轉換json字元後提供給某些類使用,比如adapter。release版本發現列表不能正常顯示,結果是因為混淆的時候沒有keep相關的entity類。
(2) 使用反射,利用類名調起類時,注意keep該類,防止混淆。
使用案例: switch 分支很多,導致**很長,閱讀困難。因此把switch的string作為類名, 使用反射調起。有新的情況時,只需要增加新類,不需要看以前的分支,也不用放在乙個類裡面。
參考:
release版本和debug版本
程式一般分為debug 版本和release 版本,debug 版本用於內部除錯,release 版本發行給使用者使用 release和 debug 有什麼不同 release版稱為發行版,debug版稱為除錯版。debug中可以單步執行 跟蹤等功能,但生成的可執行檔案比較大,執行速度較慢。rele...
debug版本和release版本
執行 debug版本輸出結果 仔細觀察,可以發現release版本的結果中,a與c的值差為4,debug版本的結果中,a和c的結果直差為8.為什麼?四個位元組被優化掉了。32位系統 呼叫函式是通過棧來傳遞引數,我們列印的位址實際上是在棧裡面位置的位址 64位系統 函式傳參絕大多數不同通過棧來傳輸的,...
debug和release版本對比
debug和release,在我看來主要是針對其面向的目標不同的而進行區分的 debug通常稱為除錯版本,通過一系列編譯選項的配合,編譯的結果通常包含除錯資訊,而且不做任何優化,以為開發人員提供強大的應用程式除錯能力。release通常稱為發布版本,是為使用者使用的,一般客戶不允許在發布版本上進行除...