始める前に、xerces.jar ファイルと xalan.jar ファイルを java.class.path ディレクトリに置く必要があります (これら 2 つのファイルは Xalan-Java 1.2 に含まれており、xml.apache.org からダウンロードできます)。 。
1. Glide キャッシュの概要
2. キャッシュ キー
EngineKey
equals() メソッドと hashCode() メソッドは次のように書き換えられます。 EngineKey に渡されるすべてのパラメータが同じである場合にのみ、同じ EngineKey オブジェクトが同じであるとみなされるようにします。
3. メモリ キャッシュ
Glide.with(this) .load(url) .skipMemoryCache(true) .into(imageView);
LruCache アルゴリズム (最も最近使用されたもの)
Android 大きな画像と複数画像のソリューションを効率的に読み込み、プログラムの OOM を効果的に回避
##LruCache アルゴリズム (最も最近使用されていないアルゴリズムとも呼ばれる) を考えるのは非常に簡単です。 。その主なアルゴリズム原理は、最近使用されたオブジェクトを強参照とともに LinkedHashMap に保存し、キャッシュ値が事前設定値に達する前に、最も最近使用されていないオブジェクトをメモリから削除することです。 LruCache の使用法も比較的簡単ですloadFromCache() とloadFromActiveResources()。これら 2 つの方法のうち 1 つは LruCache アルゴリズムを使用し、もう 1 つは弱い参照を使用します。 ハードディスク キャッシュキャッシュされたイメージを取得するには、loadFromCache() メソッドが使用されます。取得した場合は、コールバックのために cb.onResourceReady() メソッドが直接呼び出されます。取得されていない場合は、26 行目でloadFromActiveResources() メソッドが呼び出され、キャッシュされたイメージが取得された場合は、直接コールバックが行われます。どちらのメソッドもキャッシュを取得しない場合にのみ、実行は続行され、イメージをロードするためにスレッドが開かれます。
Glide.with(this)
.load(url)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.into(imageView);
DiskCacheStrategy.NONE: コンテンツをキャッシュしないことを示します。DiskLruCacheDiskCacheStrategy.SOURCE: 元のイメージのみがキャッシュされることを示します。
DiskCacheStrategy.RESULT: 変換されたイメージのみがキャッシュされることを示します (デフォルト オプション)。
DiskCacheStrategy.ALL: 元のイメージと変換されたイメージの両方がキャッシュされることを示します。
Android DiskLruCache は完全に解決され、ハードディスク キャッシュに最適なソリューションです
private Resource<?> decode() throws Exception { if (isDecodingFromCache()) { return decodeFromCache(); } else { return decodeFromSource(); } }
ここでは、まず DecodeJob の decodeResultFromCache() メソッドを呼び出して取得します。キャッシュを取得できない場合は、decodeSourceFromCache() メソッドが再度呼び出され、キャッシュを取得します。これ以上説明する必要はありません。高度なスキル
たとえば、グループの友人が以前、プロジェクトの写真リソースはすべて Qiniu Cloud に保存されていると教えてくれました。画像リソースの場合、Qiniu Cloud は画像 URL アドレスにトークン パラメーターを追加します。つまり、画像の URL アドレスは次の形式になります:関連する推奨事項:http://url.com/image.jpg?token=d9caa6e02c990b0a
public class MyGlideUrl extends GlideUrl { private String mUrl; public MyGlideUrl(String url) { super(url); mUrl = url; } @Override public String getCacheKey() { return mUrl.replace(findTokenParam(), ""); } private String findTokenParam() { String tokenParam = ""; int tokenKeyIndex = mUrl.indexOf("?token=") >= 0 ? mUrl.indexOf("?token=") : mUrl.indexOf("&token="); if (tokenKeyIndex != -1) { int nextAndIndex = mUrl.indexOf("&", tokenKeyIndex + 1); if (nextAndIndex != -1) { tokenParam = mUrl.substring(tokenKeyIndex + 1, nextAndIndex + 1); } else { tokenParam = mUrl.substring(tokenKeyIndex); } } return tokenParam; } }Glide.with(this) .load(new MyGlideUrl(url)) .into(imageView);
PHP は Java で DatainputStream クラスを実装します。
以上がGlide のキャッシュ メカニズムを詳しく理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

Dreamweaver Mac版
ビジュアル Web 開発ツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

WebStorm Mac版
便利なJavaScript開発ツール

ホットトピック









