gpt4 book ai didi

GWT 代码拆分和片段

转载 作者:行者123 更新时间:2023-12-02 06:23:39 26 4
gpt4 key购买 nike

在我的大型 GWT 应用程序中,我尝试拆分初始下载并成功了,但我对剩余片段和独占片段感到困惑。因为例如当我使用 GWT.runAsync --> onSuccess --> "Window.alert("blob blob");"在 onModuleLoad 中它导致下载一个 1MB 大小的片段!我认为这是其他初始片段,不是吗?一般来说,我的问题是如何将剩余或初始片段更改为独占片段?

RGDS

纳维德

最佳答案

通常,使用 GWT.runAsync 方法,您可以创建独占片段或剩余片段。为了将一段代码从初始下载移动到独占片段,您不仅必须使用 runAsync 方法,而且还必须确保 runAsync 方法中的代码未在应用程序的同步部分中被引用。

如果满足此条件,您的代码可以以独占片段(如果代码未被其他 runAsync 方法使用)或剩余片段(如果它在多个 runAsync 方法中被引用)结束。

//Class A is referenced only here!
GWT.runAsync(new RunAsyncCallback() {
@Override
public void onSuccess() {
a = new A();
}

@Override
public void onFailure(Throwable reason) {
...
}
});

....

//Class B is referenced in different points but always inside async calls!
GWT.runAsync(new RunAsyncCallback() {
@Override
public void onSuccess() {
b = new B();
}

@Override
public void onFailure(Throwable reason) {
...
}
});

....

GWT.runAsync(new RunAsyncCallback() {
@Override
public void onSuccess() {
b = new B();
}

@Override
public void onFailure(Throwable reason) {
....
}
});

A 类相关的代码将在独占片段中,B 类将在剩余片段中。

一般来说,我建议你使用Compile Reports了解代码拆分中发生的事情。

此外:在 onModuleLoad 中调用 runAsync 没有多大意义。1MB?你确定吗?也许发布一个示例,我可以尝试了解发生了什么

关于GWT 代码拆分和片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4673475/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com