diff --git a/Docs/CodeTutorial1.md b/Docs/CodeTutorial1.md index e426a0a..204ebf4 100644 --- a/Docs/CodeTutorial1.md +++ b/Docs/CodeTutorial1.md @@ -80,3 +80,24 @@ private class QueryStreamingAssetsFileServices : IQueryServices } ```` +### 源代码解析 + +- 编辑器模拟模式 + + 每次启动调用EditorSimulateModeHelper.SimulateBuild()方法,都会在底层执行一次模拟构建(Simulate Build)。 + + 如果参与构建的资源对象数量级很大的话则会有卡顿现象,可以通过直接指定已有的清单路径来避免每次都重复执行模拟构建。 + +- 单机运行模式 + + 在初始化的时候,会直接读取内置清单文件(StreamingAssets文件夹里的文件),最后根据加载的清单去验证沙盒里缓存的文件。 + +- 联机运行模式 + + 该模式下,每个package都会在沙盒里保留一份清单,当有更新的时候采用覆盖的方式存储。 + + 在初始化的时候,会优先从沙盒里加载清单,如果沙盒里不存在,则会尝试把内置清单文件拷贝到沙盒里,然后在加载该清单。最后根据加载的清单去验证沙盒里缓存的文件。 + + **注意**:如果沙盒清单和内置清单都不存在,初始化也会被判定为成功! + + diff --git a/Docs/CodeTutorial2.md b/Docs/CodeTutorial2.md index 0233d2b..5017c12 100644 --- a/Docs/CodeTutorial2.md +++ b/Docs/CodeTutorial2.md @@ -148,3 +148,18 @@ private IEnumerator WeaklyUpdate() } ```` +### 源代码解析 + +- 编辑器模拟模式 + + UpdateStaticVersionAsync()方法和UpdateManifestAsync()方法都不起效,但是都会返回成功! + +- 单机运行模式 + + UpdateStaticVersionAsync()方法和UpdateManifestAsync()方法都不起效,但是都会返回成功! + +- 联机运行模式 + + UpdateManifestAsync()为资源清单更新方法。该方法的内部实现原理如下: + + ![image](./Image/CodeTutorial2-img1.png) diff --git a/Docs/Image/CodeTutorial2-img1.png b/Docs/Image/CodeTutorial2-img1.png new file mode 100644 index 0000000..0c22850 Binary files /dev/null and b/Docs/Image/CodeTutorial2-img1.png differ