Skip to content

Commit

Permalink
Updated documents for 1.2 release
Browse files Browse the repository at this point in the history
  • Loading branch information
liiir1985 committed Jul 13, 2017
1 parent 6169965 commit 0f53cc6
Show file tree
Hide file tree
Showing 16 changed files with 416 additions and 16 deletions.
10 changes: 9 additions & 1 deletion docs/public/readme.html
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,14 @@



<li>
<p><a href="/ILRuntime/public/v1/guide/litjson.html" class="sidebar-link">LitJson集成</a></p>
</li>





<li><h3>其他</h3></li>

<li>
Expand All @@ -140,7 +148,7 @@


<li>
<p><a href="/ILRuntime/public/v1/guide/performance-optimization.html" class="sidebar-link">ILRuntime的性能优化建议</a></p>
<p><a href="/ILRuntime/public/v1/guide/performance-optimization.html" class="sidebar-link">ILRuntime的性能优化</a></p>
</li>


Expand Down
10 changes: 9 additions & 1 deletion docs/public/v1/guide/bind.html
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,14 @@



<li>
<p><a href="/ILRuntime/public/v1/guide/litjson.html" class="sidebar-link">LitJson集成</a></p>
</li>





<li><h3>其他</h3></li>

<li>
Expand All @@ -140,7 +148,7 @@


<li>
<p><a href="/ILRuntime/public/v1/guide/performance-optimization.html" class="sidebar-link">ILRuntime的性能优化建议</a></p>
<p><a href="/ILRuntime/public/v1/guide/performance-optimization.html" class="sidebar-link">ILRuntime的性能优化</a></p>
</li>


Expand Down
10 changes: 9 additions & 1 deletion docs/public/v1/guide/contribution.html
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,14 @@



<li>
<p><a href="/ILRuntime/public/v1/guide/litjson.html" class="sidebar-link">LitJson集成</a></p>
</li>





<li><h3>其他</h3></li>

<li>
Expand All @@ -140,7 +148,7 @@


<li>
<p><a href="/ILRuntime/public/v1/guide/performance-optimization.html" class="sidebar-link">ILRuntime的性能优化建议</a></p>
<p><a href="/ILRuntime/public/v1/guide/performance-optimization.html" class="sidebar-link">ILRuntime的性能优化</a></p>
</li>


Expand Down
10 changes: 9 additions & 1 deletion docs/public/v1/guide/cross-domain.html
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,14 @@



<li>
<p><a href="/ILRuntime/public/v1/guide/litjson.html" class="sidebar-link">LitJson集成</a></p>
</li>





<li><h3>其他</h3></li>

<li>
Expand All @@ -140,7 +148,7 @@


<li>
<p><a href="/ILRuntime/public/v1/guide/performance-optimization.html" class="sidebar-link">ILRuntime的性能优化建议</a></p>
<p><a href="/ILRuntime/public/v1/guide/performance-optimization.html" class="sidebar-link">ILRuntime的性能优化</a></p>
</li>


Expand Down
10 changes: 9 additions & 1 deletion docs/public/v1/guide/delegate.html
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,14 @@



<li>
<p><a href="/ILRuntime/public/v1/guide/litjson.html" class="sidebar-link">LitJson集成</a></p>
</li>





<li><h3>其他</h3></li>

<li>
Expand All @@ -140,7 +148,7 @@


<li>
<p><a href="/ILRuntime/public/v1/guide/performance-optimization.html" class="sidebar-link">ILRuntime的性能优化建议</a></p>
<p><a href="/ILRuntime/public/v1/guide/performance-optimization.html" class="sidebar-link">ILRuntime的性能优化</a></p>
</li>


Expand Down
12 changes: 10 additions & 2 deletions docs/public/v1/guide/il2cpp.html
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,14 @@



<li>
<p><a href="/ILRuntime/public/v1/guide/litjson.html" class="sidebar-link">LitJson集成</a></p>
</li>





<li><h3>其他</h3></li>

<li>
Expand All @@ -140,7 +148,7 @@


<li>
<p><a href="/ILRuntime/public/v1/guide/performance-optimization.html" class="sidebar-link">ILRuntime的性能优化建议</a></p>
<p><a href="/ILRuntime/public/v1/guide/performance-optimization.html" class="sidebar-link">ILRuntime的性能优化</a></p>
</li>


Expand All @@ -156,7 +164,7 @@
<article class="clearfix">
<h2 id="iOS-IL2CPP打包注意事项"><a href="#iOS-IL2CPP打包注意事项" class="headerlink" title="iOS IL2CPP打包注意事项"></a>iOS IL2CPP打包注意事项</h2><p>鉴于IL2CPP的特殊性,实际在iOS的发布中可能会遇到一些问题,在这里给大家介绍几个iOS发布时可能会遇到的问题。</p>
<p>IL2CPP和mono的最大区别就是不能在运行时动态生成代码和类型,所以这就要求必须在编译时就完全确定需要用到的类型。</p>
<h2 id="类型裁剪"><a href="#类型裁剪" class="headerlink" title="类型裁剪"></a>类型裁剪</h2><p>IL2CPP在打包时会自动对Unity工程的DLL进行裁剪,将代码中没有引用到的类型裁剪掉,以达到减小发布后ipa包的尺寸的目的。然而在实际使用过程中,很多类型有可能会被意外剪裁掉,造成运行时抛出找不到某个类型的异常。特别是通过反射等方式在编译时无法得知的函数调用,在运行时都很有可能遇到问题。</p>
<h3 id="类型裁剪"><a href="#类型裁剪" class="headerlink" title="类型裁剪"></a>类型裁剪</h3><p>IL2CPP在打包时会自动对Unity工程的DLL进行裁剪,将代码中没有引用到的类型裁剪掉,以达到减小发布后ipa包的尺寸的目的。然而在实际使用过程中,很多类型有可能会被意外剪裁掉,造成运行时抛出找不到某个类型的异常。特别是通过反射等方式在编译时无法得知的函数调用,在运行时都很有可能遇到问题。</p>
<p>Unity提供了一个方式来告诉Unity引擎,哪些类型是不能够被剪裁掉的。具体做法就是在Unity工程的Assets目录中建立一个叫link.xml的XML文件,然后按照下面的格式指定你需要保留的类型:<br><figure class="highlight xml"><table><tr><td class="code"><pre><div class="line"><span class="tag">&lt;<span class="name">linker</span>&gt;</span></div><div class="line"> <span class="tag">&lt;<span class="name">assembly</span> <span class="attr">fullname</span>=<span class="string">"UnityEngine"</span> <span class="attr">preserve</span>=<span class="string">"all"</span>/&gt;</span></div><div class="line"> <span class="tag">&lt;<span class="name">assembly</span> <span class="attr">fullname</span>=<span class="string">"Assembly-CSharp"</span>&gt;</span></div><div class="line"> <span class="tag">&lt;<span class="name">namespace</span> <span class="attr">fullname</span>=<span class="string">"MyGame.Utils"</span> <span class="attr">preserve</span>=<span class="string">"all"</span>/&gt;</span></div><div class="line"> <span class="tag">&lt;<span class="name">type</span> <span class="attr">fullname</span>=<span class="string">"MyGame.SomeClass"</span> <span class="attr">preserve</span>=<span class="string">"all"</span>/&gt;</span></div><div class="line"> <span class="tag">&lt;/<span class="name">assembly</span>&gt;</span> </div><div class="line"><span class="tag">&lt;/<span class="name">linker</span>&gt;</span></div></pre></td></tr></table></figure></p>
<h3 id="泛型实例"><a href="#泛型实例" class="headerlink" title="泛型实例"></a>泛型实例</h3><p>每个泛型实例实际上都是一个独立的类型,<code>List&lt;A&gt;</code><code>List&lt;B&gt;</code>是两个完全没有关系的类型,这意味着,如果在运行时无法通过JIT来创建新类型的话,代码中没有直接使用过的泛型实例都会在运行时出现问题。</p>
<p>在ILRuntime中解决这个问题有两种方式,一个是使用CLR绑定,把用到的泛型实例都进行CLR绑定。另外一个方式是在Unity主工程中,建立一个类,然后在里面定义用到的那些泛型实例的public变量。这两种方式都可以告诉IL2CPP保留这个类型的代码供运行中使用。</p>
Expand Down
10 changes: 9 additions & 1 deletion docs/public/v1/guide/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,14 @@



<li>
<p><a href="/ILRuntime/public/v1/guide/litjson.html" class="sidebar-link">LitJson集成</a></p>
</li>





<li><h3>其他</h3></li>

<li>
Expand All @@ -140,7 +148,7 @@


<li>
<p><a href="/ILRuntime/public/v1/guide/performance-optimization.html" class="sidebar-link">ILRuntime的性能优化建议</a></p>
<p><a href="/ILRuntime/public/v1/guide/performance-optimization.html" class="sidebar-link">ILRuntime的性能优化</a></p>
</li>


Expand Down
Loading

0 comments on commit 0f53cc6

Please sign in to comment.