Domanda

Quando provo a controllare le perdite della mia app per iPhone usando gli strumenti, tutto va bene. La stessa app sul dispositivo reale reale mostra questa perdita per alcune volte durante l'avvio dell'app. È piuttosto non deterministico e succede nelle librerie di sistema. Ho provato a cercare su Google la soluzione senza fortuna. Qualcuno ha gli stessi problemi? Qualcuno conosce la soluzione?

Trovo interessante che prima o poi tutte le mie perdite di codice causino l'arresto anomalo dell'app. Queste perdite di GeneralBlock-3584 mantengono l'app perfettamente stabile. Potrebbe essere questo il motivo del rifiuto di AppStore?

Grazie per qualsiasi risposta relativa a questo problema non documentato (purtroppo Apple tace).

È stato utile?

Soluzione

Gli strumenti di rilevamento delle perdite possono spesso produrre falsi positivi, specialmente nelle librerie di sistema sottostanti.

Conosco questi " trapelato " GeneralBlocks e non hanno causato un rifiuto dell'App Store nella mia esperienza.

IANAASRW **, ma penso che tu stia bene.

** Non sono una procedura guidata per la revisione dell'App Store

Altri suggerimenti

Non hai nulla di cui preoccuparti, questo è falso positivo di Instruments.
Ha a che fare con la liberazione delle risorse del thread che è stato terminato. Rimangono in attesa fino al termine del thread successivo e puliscono le risorse dopo quello terminato in precedenza. Gli strumenti lo considerano una "perdita", ma è una caratteristica dell'implementazione di pthreads su iOS che nel mondo perfetto sarebbe gestita in modo diverso. Altre informazioni al riguardo sul forum di sviluppo Apple qui e qui .

Vi sono perdite nei framework di Apple. In particolare le classi HTTP. Dovresti presentare un rapporto sui difetti del radar.

Hai UserDefaults che non hai inserito nelle Impostazioni per inizializzare durante quelle, " prime volte, " hai eseguito la tua app?

Ho visto lo stesso problema: l'app era (relativamente) pulita sull'ultimo Xcode / Simulator (la solita coppia di malloc a 128 byte era lì - ma questo è puramente un problema del simulatore con UIViews). Una volta eseguito su un iPod Touch, ho visto il GB3584.

Tuttavia, dopo essere entrato in Impostazioni e aver modificato un'impostazione (che ha forzato il salvataggio *), il problema è scomparso.

  • Sto usando il codice di esempio di Apple per UserDefaults per leggere correttamente quelle impostazioni senza dover prima entrare e cambiare qualcosa.

Quindi, potrebbe benissimo essere nulla. Se riesci a confermare che una visita a Impostazioni lo ha chiarito, sapremo da dove iniziare a cercare le perdite (o dove indirizzare Apple a cercare).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top