問題タブ [android-glide]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2898 参照

android - 結果が表示される前に読み込みを追加します。画像表示にはグライドを使用します

私のコードを構築してください。結果の準備ができていない間に読み込みイメージが必要です..

私はこのコードにグライドを使用します..

私のコードでわかるように、プレースホルダー インデックスローディングを使用しています。

しかし、gifの読み込み画像はプレースホルダーでは機能しません。

私の問題を解決するサンプルコードを教えてください..

フラグメントで動作するコードも..

ここに完全なコードがあります..

HomeFragment.java

0 投票する
0 に答える
296 参照

android - Android - GC されていないグライド ビットマップ

私たちのアプリには、ナビゲーションを連鎖させる機能があるため、メモリ不足に陥っています。

チェーンとは、1 つのアクティビティと、同じフラグメント タイプのインスタンスを diff データで開くことができる特定のタイプの Fragment があることを意味します。

例: Activity->MyFragment->MyFragment->MyFragment->MyFragment->MyFragment....

このため、このフラグメントには画像のビューページャーとさらにいくつかの画像が含まれているため、最終的にメモリが不足します。

次の2つのSOリンクを見る

Android アプリのメモリ不足の問題 - すべてを試してみましたが、まだ途方に暮れています

Fragment が置き換えられてバック スタックに置かれた (または削除された) 場合、それはメモリに残りますか?

Diane (hackbod) は、onDestroyView でリソースを整理する必要があることを強調しています。

ただし、Android モニターの [メモリ] タブを使用してヒープを hprof ファイルにダンプすると、ビットマップとイメージビューが決して破棄されないことがわかります。

これは Glide と bitmapPool と関係があるのでしょうか? RequestManager を取得するために静的な Gilde.with メソッドのみを使用しているため、これを構成する方法がわかりません。bitmapPools などを構成するためのメソッドがその中に表示されません。

何か案は?

:)

0 投票する
1 に答える
654 参照

android - Glide Library の詳細

私はGlideライブラリを使用していますが、それについての詳細を知りたいと思っていました。画像全体をメモリにロードしますか?全体を圧縮またはロードしますか?

また、glide のサムネイル機能は、アバターのようなものに使用できるように、画像のアイコン バージョンをロードするだけですか?

0 投票する
1 に答える
3705 参照

android - 画像をキャッシュするために Picasso/Glide を Html.ImageGetter で動作させる方法は?

@Budius の尽力に感謝します。

私のアプリの画像処理の大部分は Picasso/Glide で処理できますが、一部の画像は by で表示さTextViewHtml.fromHtmlます。また、 の画像TextViewも頻繁に使用されます。

ただし、渡された togetDrawable()に対して Picasso/Glide でメソッドを実装する方法がわかりません。これらの画像と他のビットマップの Picasso/Glide の同じキャッシュを共有することは可能ですか?ImageGetterHtml.fromHtmlTextView

または、代わりにカスタムを使用して、これらの画像フォームを個別LruCacheにキャッシュする必要がありますか? ImageGetterこの方法は、OOM エラーのリスクを高めますか? また、画像を処理するために 2 つの異なるシステムを使用することは、不要な作業負荷を生み出すと思います。

更新:ピカソを使用しようとしまし.get()たが、ドキュメントには次のように書かれています

したがって、この場合、キャッシュは使用されません。

更新: @Budius の答えは正しいですが、 の境界を設定するコードDrawableが欠落しているため、Drawableに表示されませんTextView。そこで、DrawableWrapperクラスのコードを次のように変更しました。

更新:、問題はまだ解決されていません。前述のソリューションを実装すると、 の画像に奇妙な動作が発生しTextViewます。別のアプリに切り替えて元に戻さない限り、画像を更新できず、画像の位置が大幅に間違っている場合があります。

更新:以下のテスト用のすべてのコードを投稿しました。まだいくつかのバグがあります。プレースホルダーがなくても、NPE がスローされます。プレースホルダーを使用すると、動作が非常に奇妙になります。初めて入力するTestActivityと、プレースホルダーが表示されますが、ダウンロードした写真に変わりません。しかし、別のアプリに切り替えるか、戻るボタンを押してTestActivityもう一度入力すると、写真が表示されます(キャッシュにあるためですか?)。

また、写真のサイズは正しいですが、画像の場所はまだ残っていません。mDrawable.setBounds(getBounds());の代わりに呼び出すとmDrawable.setBounds(0,0,getIntrinsicWidth(),getIntrinsicHeight());、表示されません。

DrawableWrapper

PicassoTargetDrawable

テスト活動

0 投票する
1 に答える
1447 参照

android - proguard、glide 3.6.1、gradle 1.3.1 のエラー

minifyEnabled true で proguard を使用すると、assemblyRelease 中に警告が表示され、ロードに glide を使用するほとんどのイメージがアプリケーションでロードされません。

デバッグ リリースで、minifyEnabled を false に設定すると、すべて正常に動作します。助けていただけますか?

build.gradle

proguard-rules.pro

assembleRelease 中の警告: