2010-07-26 16 views
6

Si alguna vez tengo un problema que no aparece como advertencia, pero hace que mi aplicación se cuelgue en tiempo de ejecución, a veces construiré-> limpiar y, a menudo, este error desconocido desaparece. Esto ocurre principalmente cuando importo imágenes nuevas al proyecto (reemplazando las antiguas) o cuando realizo cambios importantes en la sintaxis con mi código.¿Por qué 'limpiar' mágicamente corregir errores misteriosos en mi aplicación?

F'in 'Clean all Targets', ¿cómo funciona?

Gracias

Respuesta

7

Cuando compila por primera vez, todo su código se convierte en código de objeto. De esta forma, cuando realiza un pequeño cambio en un archivo, no tiene que volver a compilar todo el proyecto, solo ese archivo.

Ahora, a veces las cosas se ponen raras y las cosas no se alinean correctamente, o las dependencias no se actualizan y se cuelga la pluma. Se supone que el sistema de compilación debe detectar esto, pero cada proyecto en el que he trabajado ha tenido este problema en un momento u otro.

Build clean elimina todo el código de objeto intermedio y vuelve a compilar desde cero.

2

Cuando limpie su proyecto, que obligan a toda su aplicación a recompilar sí. Tal vez uno de sus recursos fue compilado en su aplicación de una manera que requirió que recompile todo al cambiar los recursos.

¿Qué tipo de aplicación estás construyendo? ¿Utiliza subprocesos? Me aseguraré de que no sean condiciones de carrera, ya que sus síntomas de marca registrada son errores esporádicos no reproducibles.

+1

'Inadvertently'? Pensé que ese era uno de los propósitos principales de la limpieza. –

Cuestiones relacionadas