CCHttpRequest不能做队列加载?

之前做的PreLoader由于继承自CCOBject,加载一个文件后就让CCHttpRequest->release(),这时发现Preloader的析构函数会被调用,说明Prelaoder正常释放了,可以如果用这个CCHttpReqeust的一个 实例来做队列加载,不管是每次队列循环时release(),还是在最后一次加载release(),Prelaodre 就是不能被释放,虽然资源时都加载好了。

原因没有找到,临时处理办法就是每次的队列循环都new一个CCHttpReqeust的实力,每次CCHttpCLient send()之后就把这个request实力releast()掉就ok了。(CCHttpClient内部采用了pthread + curl,多线程异步加载)

 

    CCHttpRequest *loopRequest = new CCHttpRequest();
    loopRequest->setRequestType(CCHttpRequest::kHttpGet);
    loopRequest->setResponseCallback(this, callfuncND_selector(Preloader::queueLoadCallback));
    loopRequest->setTag(currentItem->path.c_str());
    loopRequest->setUrl(currentItem->path.c_str());
    CCHttpClient::getInstance()->send(loopRequest);
    loopRequest->release();

 

posted @ 2012-12-19 15:33  居家懒人  阅读(1281)  评论(0编辑  收藏  举报