framework bundle多次加载注意

转自:http://www.cnblogs.com/realtimepixels/p/3652128.html

2.assetbundle如果从WWW中被读取过一次,再读取会报错
当你把assetbundle资源用www下载下来后,往往都会使用“wwwResource.assetbundle”,但是注意,这个函数调用assetbundle的时候,只能调用一遍。意思是,当你要再次读取的时候,会报错。这时候,需要你写一套对于assetbundle的控制程序,保证第一次读取资源的时候是使用wwwResource.assetbundle,第二次再次利用,则要用已经读取出来的资源。


两个Bundle资源及依赖关系

BundleA->(dependencies)BundleB

BundleB


使用:

 resMgr:LoadPrefab("BundleA", {}, function(objs) end)

 resMgr:LoadPrefab("BundleB", {}, function(objs) end)

报错:can't be loaded because another AssetBundle with the same files is already loaded.

原因:OnLoadAssetBundle->

yield return StartCoroutine(OnLoadAssetBundle(depName, type));这次依赖下载没有进入request列表

在resMgr:LoadPrefab("BundleB"  进行了第二次bundle加载,导致重复bundle加载

解决:依赖加载时进入加载队列但是回调为空

 IEnumerator OnLoadAssetBundle(string abName, Type type) {
            string url = m_BaseDownloadingURL + abName;

            List<LoadAssetRequest> requests = null;
            if (!m_LoadRequests.TryGetValue(abName, out requests))
            {
                LoadAssetRequest request = new LoadAssetRequest();
                request.assetType = null;
                request.assetNames = new string[0]{};
                request.luaFunc = null;
                request.sharpFunc = null;

                requests = new List<LoadAssetRequest>();
                requests.Add(request);
                m_LoadRequests.Add(abName, requests);
            }

            WWW download = null;

            .........

 //yield return StartCoroutine(OnLoadAssetBundle(depName, type));
yield return StartCoroutine(OnLoadAsset<GameObject>(depName)); //依赖加载不需要回调,类型无所谓



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: loxodon framework bundle 1.9.10 是一个开发框架的软件包。它是基于Java语言开发的,旨在简化Android平台上的应用程序开发过程。通过提供一系列的工具和库,loxodon framework bundle 1.9.10 可以帮助开发者更高效地构建稳定、可扩展和易于维护的Android应用程序。 该框架提供了丰富的功能和特性,包括依赖注入、事件总线、UI自动化测试、网络请求、数据持久化、资源管理等。通过依赖注入功能,开发者可以轻松地将依赖的对象注入到目标对象中,从而增加代码的可读性和可维护性。事件总线功能可以帮助组件之间实现跨界面的通信和信息传递。UI自动化测试工具可以简化测试流程,提高应用的质量和稳定性。 此外,loxodon framework bundle 1.9.10 还具有模块化的架构,可以让开发者根据项目需求选择需要的功能模块,从而减少代码冗余和提高应用程序的性能。框架还提供了丰富的文档和示例代码,帮助开发者快速上手和解决问题。 总之,loxodon framework bundle 1.9.10 是一个强大的Android开发框架,它可以帮助开发者更轻松地构建高质量、高效率的应用程序。 ### 回答2: loxodon framework bundle 1.9.10 是一个针对游戏开发的框架捆绑包。它是一个开源的工具集,可以帮助游戏开发者更高效地构建和管理他们的游戏项目。 该框架捆绑包提供了一系列功能和工具,例如资源管理、物体控制、界面设计、声音管理和网络通信等。它可以帮助开发者更方便地管理游戏资源,从而提高开发效率并减少开发时间。 loxodon framework bundle 1.9.10 还提供了一些可扩展的功能模块,如广告插件、社交媒体集成和统计分析等。这些模块可以帮助开发者将游戏与广告平台和社交媒体进行集成,以增加游戏的曝光度和用户互动性,并可以追踪和分析用户行为数据以改进游戏体验。 此外,loxodon framework bundle 1.9.10 还具有跨平台的特性,支持多个主流平台,如iOS、Android和Windows等。开发者可以使用同一套代码来构建适用于不同平台的游戏,并且可以进行相应的定制化和优化。 总结而言,loxodon framework bundle 1.9.10 是一个功能强大的游戏开发框架捆绑包,它为开发者提供了丰富的工具和功能模块,帮助他们更高效地构建和管理游戏项目,并且支持跨平台开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值