簡體   English   中英

Androids新傑克編譯器真的那么慢嗎?

[英]Is Androids new Jack compiler really that slow?

在我的一些Android項目中,我發現自從使用新的Jack編譯器后,該構建變得非常慢。 我需要它來使用像lambdas這樣的Java 8功能。

但是漫長的建設時間有點令人不安。 所以我建立了一個新的Android項目。 它只包含一個帶有一個按鈕的MainActivity ,可以對您的點擊作出反應。

package de.xappo.myapplication;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        button = (Button) findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(final View view) {
                Toast.makeText(MainActivity.this, "Button clicked!", Toast.LENGTH_LONG).show();
            }
        });
    }
}

除了布局文件之外,沒有別的東西只包含一個TextView和一個RelativeLayoutButton

分析gradle buidling

正如您在圖片中看到的那樣,所有的千斤頂任務一起花費大約75秒。 這是正常的嗎? 這個洞示例應用程序在沒有插孔的情況下建立不到22秒。 那么這個大的差異是正常的嗎?

我已經在gradle.properties文件中管理了Java堆大小:

org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

還有什么可以改善插孔編譯性能嗎? 或者你知道傑克計划的任何更新,以改善建設時間嗎?

根據此聲明 ,Android上的Jack工具鏈已被棄用,java8支持將直接集成到Android的標准javacdx工具鏈中。 我轉向Jack以獲得java8支持,但后來轉換到retrolambda因為Jack非常慢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM