《2018年基于Cocos的高性能跨平台开发方案.pdf》由会员分享,可在线阅读,更多相关《2018年基于Cocos的高性能跨平台开发方案.pdf(53页珍藏版)》请在三个皮匠报告上搜索。
1、基于Cocos的高性能跨平台开发方案项目背景体会和实践效果对比123项目背景体会和实践效果对比123ABCmouse美国销量第一幼教App团队开发,全美国7万教师推荐使用ABCmouseABCmouse 采用典型的 Hybrid App 跨平台解决方案Hybrid APP 性能问题loading,又在loadingABCmouse 各场景加载耗时3.72.43.52.32.92.300.511.522.533.54原版启动耗时(s)ArtPuzzleGamesMusicVideosSongs and ChantsListening LibraryABCmouse 腾讯版针对中国儿童精心制作焕然
2、一新的界面设计更符合中国儿童使用习惯的学习路径强化的社交分享能力技术目标性能效率表现力社交技术选型:Cocos跨平台性能效率表现力我们选择使用Cocos改造ABCmouse项目背景体会和实践效果对比123体会和实践架构篇甜头篇踩坑篇优化篇架构篇客户端架构通用通用UI组件组件音音频播放频播放图片加载图片加载常常驻节点管理器驻节点管理器上上报报日志日志webview视频播放视频播放音音频播放频播放callStaticMethodevalString支付支付账号体系账号体系安全安全上上报报日志日志推送推送社交社交录音录音VAD场景场景Creator 组件组件弹窗调度器弹窗调度器Cocos2d-x J
3、S BindingsCocos2d-xScript Engine WrapperJavaScriptCoreSpiderMonkeyV8ChakraCoreCocos 层Native 层跨平台原理 VS React NativeUI Threadscripts/fireGLThreadGLCocos2d-xScene TreeJS(JSX)Virtual DOMAndroidiOSBrowserReact NativeCocos甜头篇甜头1:跨平台一周搞定小游戏版本甜头2:高效开发Cocos Creator:基于 Cocos2d-x,组件化,脚本化,数据驱动,跨平台发布甜头2:高效开发Coco
4、s Creator 支持直接在浏览器中预览调试场景,省去构建编译的耗时。甜头3:热更新灵活同时支持脚本和资源的更新;无需重启,直接 reload;支持自定义热更新方案;支持增量更新、断点续传、文件校验、失败重试和跳过甜头4:强大的社区支持和市场占有率踩坑篇坑1:需要自己开发一些UI组件坑2:UI 节点需要注意调度没有调度有调度坑3:VideoPlayer 视频置顶问题Cocos 的 GLSurfaceView 不能直接支持渲染视频,因此,Cocos 提供了VideoPlayer 组件用于播放视频。VideoPlayer 是独立且置顶的一层。问题:无法在视频上绘制UI。GLSurfaceView
5、VideoPlayer(fix top)坑3:VideoPlayer 视频置顶问题解决方案:改用自定义的 Native 视频播放器。GLSurfaceView自定义 VideoPlayer(fix top)坑4:AudioEngine 不支持 native 端远程音频播放开发一个跨平台音频播放器,支持多端播放远程/本地音频。A/art:art/runtime/indirect_reference_table.cc:138 JNI ERROR(app bug):local reference table overflow(max=512)A/art:art/runtime/indirect_re
6、ference_table.cc:138 local reference table dump:A/art:art/runtime/indirect_reference_table.cc:138 Last 10 entries(of 512):A/art:art/runtime/indirect_reference_table.cc:138 511:0 x12e45170 java.lang.String A/art:art/runtime/indirect_reference_table.cc:138 510:0 x12dd33c0 java.lang.ClassA/art:art/runt