nell'ultimo aggiornamento di Android (SDK 21), sembra che 2 nuove variabili sono state aggiunte java.lang.Object:
private transient Class<?> shadow$_klass_;
private transient int shadow$_monitor_;
mi accorgo che shadow$_monitor_
viene utilizzato brevemente hashCode()
:
public int hashCode() {
int lockWord = shadow$_monitor_;
final int lockWordMask = 0xC0000000; // Top 2 bits.
final int lockWordStateHash = 0x80000000; // Top 2 bits are value 2 (kStateHash).
if ((lockWord & lockWordMask) == lockWordStateHash) {
return lockWord & ~lockWordMask;
}
return System.identityHashCode(this);
}
Ma altrimenti non ci sono riferimenti a loro. Sono in qualche modo legati a GC in ART? O una sorta di roba nativa?
Non ho una risposta, tuttavia alcuni di questi collegamenti ha aiutato capisco cosa potrebbe accadere. Pubblicandoli solo in caso aiutino qualcun altro! http://stackoverflow.com/questions/3362303/whats-a-monitor, http://stackoverflow.com/questions/16721021/what-is-klass-klassklass, http://stackoverflow.com/questions/1092099/ what-is-variable-shadowing-used-for-in-a-java-class, http://stackoverflow.com/questions/910374/why-does-java-have-transient-variables –
@Tspoon, qual è il significato di questi valori o come vengono utilizzati questi valori? Qualche idea? – Diffy