本文主要是介绍[转载]On RArray AppendL() memory leaks,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
src:http://tamss60.tamoggemon.com/2009/11/26/on-rarray-appendl-memory-leaks/comment-page-1
n RArray AppendL() memory leaks
Working with Symbian isn’t always easy. Especially when it comes to hunting memory leaks – yours truly did that for about an hour while finishing work on version 2 of LocaNote Lite.
One of the weirdest leaks I saw in this session concerns the code below – the leak occurred in the bold lines:
HBufC* alpha=itemArray->MdcaPoint(i).Alloc();
TPtrC beta=alpha->Des();
anArray->Append(beta);
garbageArray->Append(alpha);
Huh? Leaks while appending something? Weird.
The solution for the problem is outlined in the code segment below:void CLocaNoteListView::SortList()
{
CTextListBoxModel* model = LstFiles()->Model();
CDesCArray* itemArray = static_cast ( model->ItemTextArray() );
RArray *anArray;
RArray *garbageArray=new RArray(itemArray->Count());
TInt i;
anArray=new RArray(itemArray->Count());
...
anArray->Reset();
garbageArray->Reset();
delete anArray;
delete garbageArray;
}
So: when using RArrays, don’t forget to call Reset before blasting them to oblivion…
这篇关于[转载]On RArray AppendL() memory leaks的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!