异步加载

seajs学习日志 简单尝试模板+数据合并、模块异步加载、非标准CMD模式定义define模块

二次信任 提交于 2019-12-22 21:39:09
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 今天继续尝试seajs 2.3的版本,那做点什么demo好呢,就来一个简单是数据模板吧,然后通过其他一些细节深入学习 先看看目录结构,按照官方demo架设 index.html只是简单入口 文件和seajs的配置项,最下面有一个seajs.use加载crontroller模块,然后回调暴露的combine方法 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>halo sea.js</title> <script type="text/javascript" src="../sea-modules/sea.js"></script> </head> <body> <div id="hello"></div> </body> </html> <script type="text/javascript"> seajs.config({ base : "../sea-modules/", alias : { "jquery" : "jquery.js" } }); seajs.use("../static/crontroller", function(c){ console.log(c.combine()); }); </script>

Libgdx学习笔记:分享自己写的异步加载

。_饼干妹妹 提交于 2019-12-03 09:37:17
从需求说起: 解析xml,json文件等耗时的操作,如果放到绘制线程,或者初始化里面,会导致画面卡顿一下,让人看起来不爽,这时候就想能不能异步加载一下。 查看Libgdx的AssetManager发现里面用到了AsyncExecutor,AsyncTask,AsyncResult相关异步线程池。 简单介绍下: 【AsyncExecutor】 在一个独立的线程里面,异步执行 AsyncTask实例。不需要使用的时候,调用dispose()进行释放。 看内部源码,实际使用了java的线程池Executors.newFixedThreadPool来管理的。 简单说是处理 AsyncTask的容器。 【 AsyncTask 】为接口,可根据实际情况实现成自己的Task。 提交任务给一个AsyncExecutor,返回类型为T的结果。 【AsyncResult】 AsyncExecutor.submit(AsyncTask)返回的结果。 isDone()方法,代表任务是否处理完毕。 ================================================================= 上代码: CHAsyncTask 抽象任务类 CHAsyncManager异步管理中心,最好放在Game里面初始化一次,并且在render()中调用update()方法。