cocos2dx在android下的curl性能好像不稳定

最近使用cocos2dx做一个项目,在测试过程中,发现手机访问网络数据性能不稳定。
通过日志,发现android下curl_easy_perform性能不稳定,一般情况下,返回数据都很快,几十毫秒。但是有些时候,要2秒才返回,最极端的情况甚至到了30秒。
一开始,以为是服务端的问题,后来将url改为baidu.com也依然存在这个问题。
所以,初步怀疑是不是cocos2dx使用的android下的curl库有问题(同样的程序,windows下不存在这个问题,同时,同一台手机的用java写的程序也没有这个问题)

以下是测试代码:(这个代码是从cocos2dx的测试程序的curltest里拷贝出来的,然后加了几个日志)
运行这个测试,一般操作几十次,就会出现一次明显的性能问题。

listener->onTouchBegan = &](cocos2d::Touch* touch, cocos2d::Event* event) {
CURL *curl;
CURLcode res;
char buffer;

        time_t b=time(NULL);
        _label->setString("begin baidu.com test");
        Logger::WriteLog("begin test");

        curl = curl_easy_init();
        if (curl) 
        {
            curl_easy_setopt(curl, CURLOPT_URL, "baidu.com");
            res = curl_easy_perform(curl);
            /* always cleanup */
            curl_easy_cleanup(curl);
            time_t e=time(NULL);
            if (res == 0)
            {
                char v;
                sprintf(v,"test baidu.com response success, times:%ld seconds",e-b);
                _label->setString(v);
            }
            else
            {
                sprintf(buffer,"code: %i",res);
                _label->setString(buffer);
            }
            Logger::WriteLog("end test");
        } 
        else 
        {
            _label->setString("no curl");
        } 
    return true;

:6: 我们也是遇到了同样的问题,iOS很正常,安卓就不行。开始以为是队列的问题,用了那个sendImmediate后发现有一点点改进,但是没有完全避免。

mark mark mark