5

In quali circostanze dovrei utilizzare questa funzione?
Quanto è maturo esattamente?Quando devo abilitare "estensione conteggio di riferimento" nelle impostazioni di costruzione di MonoTouch?

Quali sono i pro e i contro?
Che problema risolve?

È specifico per MonoTouch, Mono GC o conteggio di riferimento in ObjC?

enter image description here

+0

Trovato alcune informazioni [nel blog di Seb] (http://spouliot.wordpress.com/2012/03/05/linker-vs-bindings-and-newrefcount/) e [nelle note di rilascio] (http: // docs.xamarin.com/ios/releases/MonoTouch_5/MonoTouch_5.2).Tuttavia, gradirei una spiegazione da qualcuno che conosce l'argomento meglio di me. –

risposta

5

Ecco alcune, di alto livello rapido (e fuori o ordine) le risposte alle vostre domande ...

E 'specifico per MonoTouch, Mono GC, o il conteggio di riferimento in objC ?

Consente a sgen, il garbage collector mono, di lavorare più a stretto contatto con il conteggio dei riferimenti Objective-C. Questa consapevolezza non è necessaria per Mono (o Mono per Android), quindi è specifico per MonoTouch.

Quanto è maturo?

Come dice l'interfaccia utente: Anteprima sperimentale. Quindi, mentre sappiamo che funziona, non è stato eppure visto un ampio utilizzo all'interno delle applicazioni (rispetto al GC predefinito). È più una direzione che una destinazione (ad esempio, probabilmente si evolverà).

Sei più che benvenuto a testarlo, usalo (se si rivela utile nella tua situazione) e segnala i tuoi risultati/esperienze con esso. Tuttavia non è completamente supportato, ad es. potresti riscontrare un bug che non è possibile risolvere o risolvere immediatamente (a parte chiedendo di tornare alle impostazioni predefinite).

Che problema risolve?

La coesistenza di un garbage collector e il conteggio di riferimento di Objective-C è un argomento molto complesso. MonoTouch cerca di nascondere (la maggior parte) la complessità di questo agli sviluppatori.

Gran parte di questa operazione viene eseguita all'interno del runtime (ad esempio utilizzando i campi di supporto). Questa estensione a sgen intende avere il GC stesso (non solo il runtime) a conoscenza delle esigenze di conteggio dei riferimenti.

Quali sono i pro e i contro?

PRO: Si risparmia memoria, come il linker può rimuovere molti dei campi backing che sarebbero altrimenti necessari per essere certi di mantenere un riferimento agli oggetti gestiti. Senza questi (riferimenti a) campi di backing, il GC raccoglie normalmente le istanze (mentre sono ancora necessarie per il codice non gestito).

CON: Abbiamo bisogno di più feedback, più dati di confronto (ad esempio prestazioni).

+0

Ci sono stati progressi su questo argomento durante l'ultimo anno in Xamarin? –