关于cocos2d-x 与 cocos2d-html5 资源预加载的思考
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了关于cocos2d-x 与 cocos2d-html5 资源预加载的思考,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1005字,纯文字阅读大概需要2分钟。
内容图文
移动端资源预加载,可以做到需要加载的时候,从本地磁盘加载到内存,当纹理不需要的时候,都是强制清理内存里的纹理占用:
cc.TextureCache.getInstance().removeAllTextures(); cc.TextureCache.getInstance().dumpCachedTextureInfo(); // test 打印仍然在使用的纹理 cc.TextureCache.purgeSharedTextureCache(); cc.SpriteFrameCache.getInstance().removeSpriteFrames(); cc.SpriteFrameCache.purgeSharedSpriteFrameCache(); cc.ShaderCache.purgeSharedShaderCache(); ccs.ArmatureDataManager.purge();
之后在本来就不充裕的移动设备内存中腾出空间来加载下一个界面要用到的纹理,于是基本上一个视图,就会在resource.js或者rescource.cpp中有一个数组与这个视图对应,数组里存放此视图所需的图片路径,需要显示此视图时,先预加载数组里的纹理;
但是到了html5 pc web端,纹理是存储在服务器的,加载一个纹理可不像移动端那样从磁盘读到内存中那么简单,如果要做到和移动端一样的内存精简,用不到的就都清理,那么预加载时就需要再次从服务端加载图片了,要再次做一遍cc.LoaderScene在第一次游戏运行时做过的事情,或者再从本地缓存中拿图?不知道目前cocos有没有做到把加载好的图片存储到pc本次磁盘中,一般的网页图片和swf应该都是可以的,以后等真遇到了类似项目再研究了...
我想如果是小型的html5游戏直接在最开始吧所有的全部加载完就行了,不要做removeAllTextures()之类的事情,如果用html5来开发类似于flash大型页游,那么就必须要有预加载网络文件的或者从本次缓存中拿图的功能了。
原文:http://www.cnblogs.com/JD85/p/3808947.html
内容总结
以上是互联网集市为您收集整理的关于cocos2d-x 与 cocos2d-html5 资源预加载的思考全部内容,希望文章能够帮你解决关于cocos2d-x 与 cocos2d-html5 资源预加载的思考所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。