[cocos2dx_Lua]3.10版本使用cjson
发表于2018-05-11
Lua CJSON是Lua语言提供高性能的JSON解析器和编码器,其性能比纯Lua库要高10到20倍。cocos2dx lua 3.10 默认目录中包含cjson文件(目录:/frameworks/cocos2d-x/external/lua),但是没有使用。而是用的json.lua进行解析json。效率低下,json字符串稍微大点,进行decode的时候就非常卡。
1.首先将cjson加入到工程
2.修改lua_extensions.h文件
把cjson加入到package.preload表中,在lua层使用:
---json是全局变量与string一个级别,可以通过打印 package.loaded 来看到 ---不需要再require("json"),require("json")是多余的,require("json")与json地址是相同的 ---当全局变量json被赋值时,可以通过require("json")来找回 function m.requireJson() if package.preload["cjson"] then json = require("cjson") end end m.requireJson()
3.android需要修改mk文件,修改目录在自己工程proj.android下的jni文件夹下的android.mk文件
把源文件编入到库中,需要把cjson下的所有源文件到包含进去。