問題タブ [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 に答える
3038 参照

android - Glide はすべての画像リクエストをキューに入れますか? スクロール時の Recyclerview の読み込みが非常に遅い

Glide 3.6 + GridLayoutManager を使用した RecyclerView を使用したアプリで、画像の読み込み時間が非常に長いことがわかりました。画像はすべて約 20kb-40kb です。グライドはすべてのリクエストをキューに入れているようで、リストをさらに下にスクロールし始めると、画像のロードにかなりの時間がかかります. GenericRequest クラスのログを添付しました。

問題が何であるかについて誰かが洞察を提供できるかどうか疑問に思っていました。たぶん、ビューのサイズを変更するのにかかる時間ですか?match_parentビューの幅と約の固定高さに使用してい200dpます。

画像は次を使用してロードされます

XML

編集: @VladimirMironov のコメントによると。プールを増やして更新し、ビューがリサイクルされたときに保留中の負荷をクリアしました。これは、高速スクロール時に少し役立ったようです。オーバーライドを提供するか、ビューに「match_parent」を使用しないと、ビューの測定に関して何らかの利点がありますか? ビューがほぼ 5 秒間表示されない場合がまだあります。

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

android - グライドを使用して大きなサイズの画像をロード中に OutOfMemoryException

そのため、ギャラリー アプリでネイティブ イメージを表示するために、この素​​晴らしいライブラリGlideを使用しています。ViewPagerwithを使用しFragmentStatePagerAdapterてフルサイズの画像を表示しています。ページャのオフスクリーン制限は1(メモリを節約するためのデフォルト) です。このコードを使用しViewPagerて、フラグメントに画像をロードしています:

今、私はここで次のようないくつかの問題に直面しています:

  1. 画像のロードにはかなりの時間がかかります (キャッシュされていない場合)。そのため、ユーザーがビューページャーをスクロールしている間、画像の読み込み中に空白の画面が表示されますが、これは避けたいことです。これを行う方法はありますか?たぶん、画像を事前にキャッシュすることによって?
  2. 大きなサイズの画像 (主にカメラの写真) をスクロールしているときに、OOM 例外がスローされ、画像が読み込まれないため、空白の画面が表示されることがあります。これは、ポートレイト モードからランドスケープ モードに移行するときにも発生します。それで、私は次のような方法を使用しようとしました--画像が既に読み込まれatMost()ているため、画像の品質をさらに低下させ、OOMも引き起こしています。OOM 例外を発生させずに最高の画質を実現するにはどうすればよいですか?RGB_565approximate()

2 番目の問題については、オフスクリーン アイテムの低品質の画像を読み込み、画面に表示されたときに品質を向上させることを考えていました。出来ますか?

私も使用しようとしましARGB_8888たが、結果は同じでした: OOM 例外。

0 投票する
3 に答える
22544 参照

android - グライド - 特定の時間にビデオから単一のフレームを読み込みますか?

Glide を使用して、ビデオ ファイル内のフレームをステップ実行しようとしています (Android が苦しむキーフレーム シークの問題に遭遇することなく)。ピカソでこれを行うには、次のようにします。

(frameNumber は、毎回 50000 マイクロ秒ずつ増加する単純な int です)。次のような PicassoVideoFrameRequestHandler もあります。

代わりに Glide を使用したいと思います。メモリの処理が少し優れているからです。Glide でこの機能を使用する方法はありますか?

または、実際には、ステップスルーできるビデオからフレームのセットを作成する他の方法です!

ありがとう!

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

android - Glide ライブラリの BitmapTransformation が期待どおりに機能しない

ここにある変換ガイドに従って、Glide ライブラリを初めて使用します: https://github.com/bumptech/glide/wiki/Transformations

カスタム変換を作成しようとしていますが、Transformation クラスのtransformメソッドにブレークラインを配置すると、それが呼び出されないことがわかります。

以下は私のコードです:

2 つの方法で Glide を開始しようとしました。

しかし、どちらも機能しません。何か案は?繰り返しますが、私は Matrix 自体についてアドバイスを求めているわけtransform(...)ではありません。ありがとう!

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

android - TextureView でビットマップを描画するにはどうすればよいですか

Androidでビデオを再生しようとしていTextureViewます。ビデオに関しては、すべてがうまく機能します。しかしMediaPlayer.prepare();、少し時間がかかります。そのため、その時のプレースホルダーをいくつか示したいと思います。私はこのようにグライドでそれをやろうとしています:

しかし、それは画像を表示しません。私は手動SurfaceViewで呼び出す必要がありますonDraw。そして、これにはSurfaceHolderが使用されています。しかし、方法TextureViewがありませんgetSurfaceHolder()

これを行う正しい方法は何ですか?

UPD:私が理解したのは、設定しないと画像が表示されるということです。これは、ビデオをバッファリングしている間、表面を黒く保つMediaPlayerことを意味します。MediaPlayerどうにかしてこの動作をオーバーライドすることは可能ですか?