行业知识
微信小程序 - 渲染和逻辑
2026-10-22 00:51:43
来源:互联网转载
通信模型
�� 渲染层的界面使用了WebView 进行渲染;逻辑层采用JsCore线程运行JS脚本。
数据驱动
WXML会解析对应model值,并生成js对象,最后生成最终的dom树。
当model发生变更时候,会判断解析wxml后的js对象是否改动,若改动则会局部更新dom。
判断json对象是否相等算法
public class JsonUtil { public static class JsonObject { } @Data public static class JsonItemObject extends JsonObject { private Map elements; } @Data public static class JsonArrayObject extends JsonObject { private List elements; } /** * 判断两个json对象是否相等 * @param o1 json对象 * @param o2 json对象 * @return */ public static boolean equals(Object o1, Object o2) { if (o1 instanceof JsonItemObject) { for (Map.Entry entry : ((JsonItemObject) o1).elements.entrySet()) { String key = entry.getKey(); Object o1ItemValue = entry.getValue(); Object o2ItemValue = entry.getValue(); if (!equals(o1ItemValue, o2ItemValue)) { return false; } } return true; } else if (o1 instanceof JsonArrayObject) { for (int i = 0; i