Cleaner Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Cleaner
управляет набором ссылок на объекты и соответствующими действиями очистки.
[Android.Runtime.Register("java/lang/ref/Cleaner", ApiSince=33, DoNotGenerateAcw=true)]
public sealed class Cleaner : Java.Lang.Object
[<Android.Runtime.Register("java/lang/ref/Cleaner", ApiSince=33, DoNotGenerateAcw=true)>]
type Cleaner = class
inherit Object
- Наследование
- Атрибуты
Комментарии
Cleaner
управляет набором ссылок на объекты и соответствующими действиями очистки.
Действия по очистке выполняются #register(Object object, Runnable action) registered
после того, как средство очистки получает уведомление о том, что объект стал фантомным. Средство очистки использует PhantomReference
и ReferenceQueue
, чтобы получать уведомления при изменении доступности.
Каждая очистка работает независимо, управляя ожидающими действиями очистки и обрабатывая потоки и завершение, когда очистка больше не используется. Регистрация ссылки на объект и соответствующее действие очистки возвращает Cleanable Cleanable
. Наиболее эффективным способом является явный вызов метода, Cleanable#clean clean
когда объект закрыт или больше не нужен. Действие очистки вызывается Runnable
не более одного раза, когда объект становится фантомным, если он не был очищен явным образом. Обратите внимание, что действие очистки не должно ссылаться на зарегистрированный объект. Если это так, объект не станет доступным для фантома, и действие очистки не будет вызываться автоматически.
Выполнение действия очистки выполняется потоком, связанным с очисткой. Все исключения, вызванные действием очистки, игнорируются. На очистку и другие действия очистки не влияют исключения в действии очистки. Поток выполняется до тех пор, пока не будут завершены все зарегистрированные действия по очистке, а сама очистка не будет освобождена сборщиком мусора.
Поведение очистки во время System#exit(int) System.exit
зависит от реализации. Никаких гарантий относительно того, вызываются ли действия очистки, не предоставляются.
Если не указано иное, передача null
аргумента конструктору или методу в этом классе вызовет java.lang.NullPointerException NullPointerException
исключение .
Добавлено в 9.
Документация по Java для java.lang.ref.Cleaner
.
Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License Creative Commons 2.5 Attribution License.
Свойства
Class |
Возвращает класс среды выполнения данного объекта |
Handle |
Дескриптор базового экземпляра Android. (Унаследовано от Object) |
JniIdentityHashCode |
|
JniPeerMembers |
|
PeerReference |
|
ThresholdClass |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. (Унаследовано от Object) |
ThresholdType |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. (Унаследовано от Object) |
Методы
Clone() |
Создает и возвращает копию этого объекта. (Унаследовано от Object) |
Create() |
Возвращает новый объект |
Create(IThreadFactory) |
Возвращает новый |
Dispose() |
|
Dispose(Boolean) |
|
Equals(Object) |
Указывает, равен ли какой-то другой объект этому объекту. (Унаследовано от Object) |
GetHashCode() |
Возвращает значение хэш-кода для объекта. (Унаследовано от Object) |
JavaFinalize() |
Вызывается сборщиком мусора для объекта , когда сборка мусора определяет, что больше нет ссылок на объект . (Унаследовано от Object) |
Notify() |
Пробуждение одного потока, ожидающего на мониторе этого объекта. (Унаследовано от Object) |
NotifyAll() |
Активирует все потоки, ожидающие на мониторе этого объекта. (Унаследовано от Object) |
Register(Object, IRunnable) |
|
SetHandle(IntPtr, JniHandleOwnership) |
Задает свойство Handle. (Унаследовано от Object) |
ToArray<T>() |
|
ToString() |
Возвращает строковое представление объекта. (Унаследовано от Object) |
UnregisterFromRuntime() |
|
Wait() |
Заставляет текущий поток ждать, пока он не будет пробужден, как правило, из-за <уведомления/><em> или <прерывания></em>. (Унаследовано от Object) |
Wait(Int64) |
Заставляет текущий поток ждать, пока он не будет пробужден, как правило, из-за <уведомления</>em>, <>прерывания< или> em, либо до истечения определенного количества реального времени. (Унаследовано от Object) |
Wait(Int64, Int32) |
Заставляет текущий поток ждать, пока он не будет пробужден, как правило, из-за <уведомления</>em>, <>прерывания< или> em, либо до истечения определенного количества реального времени. (Унаследовано от Object) |
Явные реализации интерфейса
IJavaPeerable.Disposed() |
|
IJavaPeerable.DisposeUnlessReferenced() |
|
IJavaPeerable.Finalized() |
|
IJavaPeerable.JniManagedPeerState |
|
IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
IJavaPeerable.SetPeerReference(JniObjectReference) |
|
Методы расширения
JavaCast<TResult>(IJavaObject) |
Выполняет преобразование типа, проверенное средой выполнения Android. |
JavaCast<TResult>(IJavaObject) |
|
GetJniTypeName(IJavaPeerable) |
|