一、Mono原理 此处简单介绍下Mono这个奇葩,主要通过Mono可以轻松实现跨平台,目前使用Unity开发手游Android平台大多使用Mono实现,但是诛仙手游使用il2cpp技术。具体il2cpp知识大家可以度娘。 二、内存分配机制 上图为内存分配策略,但是在此结合实践经验有bug存在,当分配 ...
分类:
编程语言 时间:
2016-08-14 23:55:27
阅读次数:
387
最初发现这个问题的情况是,当游戏用IL2CPP平台发布IOS版本的时候,会遇到某些dll格式的插件会导致游戏抛异常崩溃,比如FullInspector和Behavior Designer。所抛的异常是找不到某些类的默认构造函数。 后来发现,不只是某些插件会报这种异常,很多json格式的序列化...
分类:
编程语言 时间:
2015-10-09 22:47:58
阅读次数:
990
续篇 Unity3d C# HttpWebRequest 异步下载文件 ,由于project编译为IL2CPP的情况下仍然无效。提示HttpWebrequest 在当前版本号不支持。所以还是寻求其他的办法。正好分公司的同事也碰到了下载文件的BUG,可是他们是仅仅可下面载一部分,好歹也比我的情况好,于...
分类:
编程语言 时间:
2015-09-08 20:10:18
阅读次数:
285
Unity4.6.2现在已经正式发布并且提供下载,这是Unity第一个支持64位iOS的正式版本,采用了最新的IL2CPP
技术。
下载请访问:http://unity3d.com/cn/unity/download
IL2CPP是Unity内部开发的一款创新型脚本技术。它能极大地提高项目中所有脚本的性能,并且完美兼容当前iOS构建所使用的Mono-AOT解决方案。
我们...
分类:
移动开发 时间:
2015-06-17 11:38:27
阅读次数:
228
??孙广东 2015.5.25转载请注明出处吧这是 IL2CPP Internals系列中的第二个博客文章。在这篇文章,我们将探讨由 il2cpp.exe 生成的 c + + 代码。一路走来,我们将看到托管的类型怎么样表示在本机代码中,看看运行时检查用来支持.NET 虚拟机,请参阅如何循环生成的更多 ! 我们会遇到一些非常特定于版本的代码,更高版本的Unity一定会改变。尽管如此,但概念...
分类:
编程语言 时间:
2015-05-25 09:57:44
阅读次数:
414
??孙广东 2015.5.20介绍IL2CPP内部构建将近一年以前的事了,Unity开始谈论未来在Unity中的脚本。新的 IL2CPP 脚本后端答应(highly-portable)给Unity带来了高性能、 高便携式虚拟机。今年 1 月,Unity使用 IL2CPP,尝试的第一平台是iOS 64-bit。Unity5 发布带来了另一种平台:WebGL。由于从我们拥有的强大的社区,用户的输入,...
分类:
编程语言 时间:
2015-05-20 09:45:59
阅读次数:
416
1、将Unit升级至4.6.x或5.0.x,将Vuforia差距升级到最新版本(vuforia-unity-mobile-android-ios-4-0-105)2、平台Other Settings设置中将 Scripting Backend设置为:IL2CPP ,Architecture设置为:U...
分类:
移动开发 时间:
2015-05-18 16:06:05
阅读次数:
327
在Unity3d 自动打包过程中,如果是要提交到AppStore审核的,需要支持64位,就需要在PlayerSetting中选择 Scripting Backend 为IL2CPP。Unity并没有提供一个明确的接口来设置ScriptingBackend,但是通过查询 PlayerSettings 的所有函数发现有一个属性设置公用接口可以使用。在代码中可以通过设置属性来选择IL2CPP。...
分类:
编程语言 时间:
2015-04-24 16:28:17
阅读次数:
520
随着xe8 的出来,其开始支持IOS 64 的编译了(不支持也没办法,从今年2月开始不支持ios 64 的应用就不允许入住apple appstore,霸气呀)。相信不少同学迫不及待的开始了ios64 的开发。 kbmmw 4.8 开始支持xe8,但是目前确无法直接编译IOS64 的应用,经过分析....
分类:
移动开发 时间:
2015-04-19 22:38:39
阅读次数:
173
今天在论坛上看到有人提到Unity5的诸多“罪状”,其中一条就是打出来的空包竟然有17mb,而之前的版本是9mb。我很好奇,难道是IL2Cpp搞的鬼?
因为好奇,我特意准备了Android环境(之前的环境太老了,不得不重新弄),打了一个空包试验了下。其实原因很简单,因为考虑到兼容性Unity5默认情况下同时打了armv7a和x86的动态库。于是空包的大小就增加了几乎一倍。
...
分类:
编程语言 时间:
2015-03-28 21:48:24
阅读次数:
357