android: create empty doric context instead of static one

This commit is contained in:
pengfei.zhou 2022-11-08 17:31:42 +08:00 committed by osborn
parent 1c306bd3f6
commit 7899896b80
2 changed files with 5 additions and 5 deletions

View File

@ -61,7 +61,8 @@ public class DoricSSRActivity extends AppCompatActivity {
ViewGroup.LayoutParams.WRAP_CONTENT));
doricNavBar.setRight(textView);
final DoricPanel doricPanel = findViewById(R.id.doric_panel);
RootNode rootNode = new RootNode(DoricContext.MOCK_CONTEXT);
DoricContext doricContext = DoricContext.create(this, "", "", "");
RootNode rootNode = new RootNode(doricContext);
rootNode.setRootView(doricPanel);
String filePath = getIntent().getStringExtra("file");
String json = DoricUtils.readAssetFile("src/" + filePath);
@ -76,6 +77,8 @@ public class DoricSSRActivity extends AppCompatActivity {
Log.d("Timing", "SSR cost " + (System.currentTimeMillis() - start) + " ms");
} catch (Exception e) {
e.printStackTrace();
} finally {
doricContext.teardown();
}
}
}

View File

@ -17,7 +17,6 @@ package pub.doric;
import android.animation.Animator;
import android.animation.AnimatorSet;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.text.TextUtils;
@ -72,8 +71,6 @@ public class DoricContext {
private final Map<String, Animator> animators = new HashMap<>();
private final Map<String, DoricResource> cachedResources = new WeakHashMap<>();
private final Set<SoftReference<RetainedJavaValue>> retainedJavaValues = new HashSet<>();
@SuppressLint("StaticFieldLeak")
public static final DoricContext MOCK_CONTEXT = new DoricContext(Doric.application(), "", "", "");
public Collection<ViewNode<?>> allHeadNodes(String type) {
Map<String, ViewNode<?>> headNode = mHeadNodes.get(type);