2012-03-25 16 views
6

Acabo de clonar el repositorio git para el framework SBJson e importé el código fuente en mi aplicación. Ejecuté un generador de perfiles de memoria estática y me asusté un poco por los resultados que vi. Ver la imagenSBJson - ¿Tiene pérdidas de memoria?

enter image description here

¿Cómo es esto posible? Dudo que el desarrollador de esta biblioteca tan conocida no haya visto esto. Y, de hecho, si ejecuta un perfil de memoria, muestra pérdidas de memoria de esta biblioteca.

¿Alguna idea? Thx

+0

warrenm respondió correctamente debajo , pero me gustaría señalar que la versión 3.2 de SBJson hace que sea un error de compilación intentar compilar sin compatibilidad con ARC. –

Respuesta

8

Parece que está utilizando SBJSON en un proyecto que no tiene habilitado ARC. Como ARC elimina la necesidad de llamar al release explícitamente, el código escrito para ARC (como SBJSON) causa pérdidas de memoria cuando se usa en un proyecto que no es de ARC. Debería convert your project to use ARC con la herramienta de refactorización incorporada (Editar> Refactorizar> Convertir a ARC de Objective-C, luego establecer explícitamente el indicador del compilador -fno-objc-arc en cualquiera de sus fuentes que aún no esté lista para ARC

+6

Alternativamente, puede degradar a SBJson v3.0.4 que no es ARC. –

+1

Podría, pero no no es una desventaja convertir un proyecto en ARC. La principal ventaja es que puede aprovechar las soluciones introducidas en versiones más recientes de sus dependencias en lugar de quedarse congelado a tiempo. – warrenm

Cuestiones relacionadas