LruCache Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Um cache que contém referências fortes a um número limitado de valores.
[Android.Runtime.Register("android/util/LruCache", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })]
public class LruCache : Java.Lang.Object
[<Android.Runtime.Register("android/util/LruCache", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })>]
type LruCache = class
inherit Object
- Herança
- Atributos
Comentários
Um cache que contém referências fortes a um número limitado de valores. Cada vez que um valor é acessado, ele é movido para o cabeçalho de uma fila. Quando um valor é adicionado a um cache completo, o valor no final dessa fila é removido e pode se tornar elegível para coleta de lixo.
Se os valores armazenados em cache mantiverem recursos que precisam ser liberados explicitamente, substitua #entryRemoved.
Se uma falha de cache deve ser computada sob demanda para as chaves correspondentes, substitua #create. Isso simplifica o código de chamada, permitindo que ele suponha que um valor sempre será retornado, mesmo quando houver uma falha de cache.
Por padrão, o tamanho do cache é medido no número de entradas. Substitua #sizeOf para dimensionar o cache em unidades diferentes. Por exemplo, esse cache é limitado a 4MiB de bitmaps:
{@code
int cacheSize = 4 * 1024 * 1024; // 4MiB
LruCache<String, Bitmap> bitmapCache = new LruCache<String, Bitmap>(cacheSize) {
protected int sizeOf(String key, Bitmap value) {
return value.getByteCount();
}
}}
Essa classe é thread-safe. Execute várias operações de cache atomicamente sincronizando no cache:
{@code
synchronized (cache) {
if (cache.get(key) == null) {
cache.put(key, value);
}
}}
Essa classe não permite que nulo seja usado como uma chave ou valor. Um valor retornado de nulo ou #get#put#remove inequívoca: a chave não estava no cache.
Essa classe apareceu no Android 3.1 (Honeycomb MR1); ele está disponível como parte do Pacote de Suporte do Android para versões anteriores.
Java documentação para android.util.LruCache.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.
Construtores
| Nome | Description |
|---|---|
| LruCache(Int32) | |
| LruCache(IntPtr, JniHandleOwnership) |
Um construtor usado ao criar representações gerenciadas de objetos JNI; chamado pelo runtime. |
Propriedades
| Nome | Description |
|---|---|
| Class |
Retorna a classe de runtime deste |
| Handle |
O identificador para a instância subjacente do Android. (Herdado de Object) |
| JniIdentityHashCode |
Um cache que contém referências fortes a um número limitado de valores. (Herdado de Object) |
| JniPeerMembers |
Um cache que contém referências fortes a um número limitado de valores. |
| PeerReference |
Um cache que contém referências fortes a um número limitado de valores. (Herdado de Object) |
| ThresholdClass |
Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código. |
| ThresholdType |
Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código. |
Métodos
| Nome | Description |
|---|---|
| Clone() |
Cria e retorna uma cópia desse objeto. (Herdado de Object) |
| Create(Object) |
Chamado após uma falha de cache para calcular um valor para a chave correspondente. |
| CreateCount() |
Retorna o número de vezes que |
| Dispose() |
Um cache que contém referências fortes a um número limitado de valores. (Herdado de Object) |
| Dispose(Boolean) |
Um cache que contém referências fortes a um número limitado de valores. (Herdado de Object) |
| EntryRemoved(Boolean, Object, Object, Object) |
Chamado para entradas que foram removidas ou removidas. |
| Equals(Object) |
Indica se algum outro objeto é "igual a" este. (Herdado de Object) |
| EvictAll() |
Desmarque o cache, chamando |
| EvictionCount() |
Retorna o número de valores que foram removidos. |
| Get(Object) |
Retorna o valor para |
| GetHashCode() |
Retorna um valor de código hash para o objeto. (Herdado de Object) |
| HitCount() |
Retorna o número de vezes |
| JavaFinalize() |
Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto. (Herdado de Object) |
| MaxSize() |
Para caches que não substituem |
| MissCount() |
Retorna o número de vezes |
| Notify() |
Ativa um único thread que está aguardando no monitor desse objeto. (Herdado de Object) |
| NotifyAll() |
Ativa todos os threads que estão aguardando no monitor deste objeto. (Herdado de Object) |
| Put(Object, Object) |
Caches |
| PutCount() |
Retorna o número de vezes que |
| Remove(Object) |
Remove a entrada para |
| Resize(Int32) |
Define o tamanho do cache. |
| SetHandle(IntPtr, JniHandleOwnership) |
Define a propriedade Handle (Herdado de Object) |
| Size() |
Para caches que não substituem |
| SizeOf(Object, Object) |
Retorna o tamanho da entrada para e |
| Snapshot() |
Retorna uma cópia do conteúdo atual do cache, ordenada de acesso menos recente ao acessado mais recentemente. |
| ToArray<T>() |
Um cache que contém referências fortes a um número limitado de valores. (Herdado de Object) |
| ToString() |
Retorna uma cadeia de caracteres que contém uma descrição concisa e legível por humanos deste objeto. |
| TrimToSize(Int32) |
Remova as entradas mais antigas até que o total de entradas restantes esteja em ou abaixo do tamanho solicitado. |
| UnregisterFromRuntime() |
Um cache que contém referências fortes a um número limitado de valores. (Herdado de Object) |
| Wait() |
Faz com que o thread atual aguarde até ser despertado, normalmente por ser <notificado/em> ou <em>interrompido</em>.<> (Herdado de Object) |
| Wait(Int64, Int32) |
Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
| Wait(Int64) |
Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| IJavaPeerable.Disposed() |
Um cache que contém referências fortes a um número limitado de valores. (Herdado de Object) |
| IJavaPeerable.DisposeUnlessReferenced() |
Um cache que contém referências fortes a um número limitado de valores. (Herdado de Object) |
| IJavaPeerable.Finalized() |
Um cache que contém referências fortes a um número limitado de valores. (Herdado de Object) |
| IJavaPeerable.JniManagedPeerState |
Um cache que contém referências fortes a um número limitado de valores. (Herdado de Object) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Um cache que contém referências fortes a um número limitado de valores. (Herdado de Object) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Um cache que contém referências fortes a um número limitado de valores. (Herdado de Object) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Um cache que contém referências fortes a um número limitado de valores. (Herdado de Object) |
Métodos de Extensão
| Nome | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtém o nome JNI do tipo da instância |
| JavaAs<TResult>(IJavaPeerable) |
Tente coagir a digitar |
| JavaCast<TResult>(IJavaObject) |
Executa uma conversão de tipo marcada por runtime do Android. |
| JavaCast<TResult>(IJavaObject) |
Um cache que contém referências fortes a um número limitado de valores. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Tente coagir a digitar |