2015-12-23 10 views
10

Voglio distruggere alcuni componenti che ho istanziato per rilasciare memoria. Nella mia attuale app quasi tutte le viste che istanzio e poi la rilascio (rimuovi il riferimento ad essa) non ottengono la garbage collection. Non tengo alcun riferimento alle opinioni. Non sono sicuro che questa perdita di memoria sia causata dalla mia app o che sia nativa (e che reagisca con problemi di perdite di memoria). c'è un modo per distruggere con sicurezza un'istanza di visualizzazione?How in in React native distrugge un'istanza del componente per evitare perdite di memoria e rilasciare sottostanti oggetti di visualizzazione del codice nativo?

+1

Hai trovato la risposta? – abeikverdi

+0

Sono anche interessato a questo. Tu o @abeikverdi hai trovato qualche intuizione? – Noitidart

risposta

0

Ho passato per lo stesso problema tempo fa e ho scoperto che il problema era che non stavo usando correttamente la reazione.

Perché istanziate i componenti manualmente?

Pensa che una delle principali caratteristiche principali di reazione è i componenti virtuali DOM albero e se si istanzia manualmente un componente si è, in qualche modo, evitarlo.

Ricordare che è necessario utilizzare i componenti nella funzione di rendering o le funzioni in cui i componenti vengono renderizzati e utilizzati nella funzione di rendering. Se devi passare componenti a un altro componente, devi utilizzare il concetto di componente di ordine elevato.

Spero di averti aiutato.

+0

Un trucco se si desidera manipolare un po 'il componente, è possibile utilizzare la funzione componentWillUnmount(). –