In un certo punto (consistente) quando la mia applicazione è in esecuzione, ho sempre il messaggio di errore XcodeÈ possibile eseguire il debug di "Terminato a causa di un errore di memoria"?
interrotta a causa di errore di memoria.
Non riesco a trovare il codice che causa l'errore, ma posso dire quale codice è vicino all'errore (utilizzando i punti di interruzione).
L'errore è causato direttamente dopo il ritorno di una certa cellula del mio implemenation del metodo delegato
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
UITableViewDataSource
. Posso confermare che sta restituendo un valido UITableViewCell
, ma penso che spiegare e pubblicare l'intero metodo sarebbe uno spreco di tempo. Tuttavia, ho il sospetto che potrebbe essere causato da una rapida e massiccia allocazione di memoria.
Dice sicuramente Terminated due to memory error
, non la pressione della memoria.
Mi piacerebbe sapere cosa significa realmente il messaggio. Inoltre, c'è un modo per eseguire il debug di questo messaggio? Nessun rapporto di arresto anomalo viene generato.
Sto usando ARC e iOS 7.
ho visto lo stesso errore in Xcode. La mia app si bloccava perché stavo creando un UIWebView super alto (superiore a 20000 pixel). Non sono mai stato in grado di trovare un rapporto di arresto anomalo, né di trovare un modo per ottenere avvisi di memoria prima del crash. –
@HeathBorders Sto usando anche UIWebview. È molto interessante. Dovrò controllare l'altezza sulla mia. Grazie! –
Questo è un tipo di errore comune con questi componenti. Le possibili cause sono: in qualche modo stai generando troppe celle (controlla i tuoi calcoli), le dimensioni delle tue celle sono sbagliate (come dividendo per 0 generando un nan che è una specie di numero infinito quando si creano le dimensioni). o incorrere in un ciclo infinito. – Pochi