Как освободить память, выделенную с помощью kCFAllocatorDefault?
Уважаемые форумчане!
Помогите, пожалуйста, разобраться. В библиотеке CoreFoundation многие функции, создающие объекты, требуют ввести параметр CFAllocatorRef allocator. Обычно я использую аллокатор по умолчанию, но спустя время я заметила, что память, выделенная с помощью данного аллокатора, не высвобождается с помощью CFRelease()
. То есть после вызова CFRelease()
к какому-либо объекту, созданному с помощью аллокатора, в среде разработки с левой стороны, где показана занимаемая программой память, она не уменьшается, и таким образом происходят утечки. Как с этим бороться? Как гарантированно освободить память, выделенную под эти объекты?
Пример кода (здесь я уже пробую kCFAllocatorMalloc, но память так и не вернулась):
CFHTTPMessageRef myRequest = CFHTTPMessageCreateRequest(kCFAllocatorMalloc,
requestMethod,
myUrl,
kCFHTTPVersion1_1);
CFRelease(myRequest); //память после этого не освободилась
myRequest = NULL;
Читала ссылки с документацией, особо не помогло: