問題タブ [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.
android - Glide はすべての画像リクエストをキューに入れますか? スクロール時の Recyclerview の読み込みが非常に遅い
Glide 3.6 + GridLayoutManager を使用した RecyclerView を使用したアプリで、画像の読み込み時間が非常に長いことがわかりました。画像はすべて約 20kb-40kb です。グライドはすべてのリクエストをキューに入れているようで、リストをさらに下にスクロールし始めると、画像のロードにかなりの時間がかかります. GenericRequest クラスのログを添付しました。
問題が何であるかについて誰かが洞察を提供できるかどうか疑問に思っていました。たぶん、ビューのサイズを変更するのにかかる時間ですか?match_parent
ビューの幅と約の固定高さに使用してい200dp
ます。
画像は次を使用してロードされます
XML
編集: @VladimirMironov のコメントによると。プールを増やして更新し、ビューがリサイクルされたときに保留中の負荷をクリアしました。これは、高速スクロール時に少し役立ったようです。オーバーライドを提供するか、ビューに「match_parent」を使用しないと、ビューの測定に関して何らかの利点がありますか? ビューがほぼ 5 秒間表示されない場合がまだあります。
android - グライドを使用して大きなサイズの画像をロード中に OutOfMemoryException
そのため、ギャラリー アプリでネイティブ イメージを表示するために、この素晴らしいライブラリGlideを使用しています。ViewPager
withを使用しFragmentStatePagerAdapter
てフルサイズの画像を表示しています。ページャのオフスクリーン制限は1
(メモリを節約するためのデフォルト) です。このコードを使用しViewPager
て、フラグメントに画像をロードしています:
今、私はここで次のようないくつかの問題に直面しています:
- 画像のロードにはかなりの時間がかかります (キャッシュされていない場合)。そのため、ユーザーがビューページャーをスクロールしている間、画像の読み込み中に空白の画面が表示されますが、これは避けたいことです。これを行う方法はありますか?たぶん、画像を事前にキャッシュすることによって?
- 大きなサイズの画像 (主にカメラの写真) をスクロールしているときに、OOM 例外がスローされ、画像が読み込まれないため、空白の画面が表示されることがあります。これは、ポートレイト モードからランドスケープ モードに移行するときにも発生します。それで、私は次のような方法を使用しようとしました--画像が既に読み込まれ
atMost()
ているため、画像の品質をさらに低下させ、OOMも引き起こしています。OOM 例外を発生させずに最高の画質を実現するにはどうすればよいですか?RGB_565
approximate()
2 番目の問題については、オフスクリーン アイテムの低品質の画像を読み込み、画面に表示されたときに品質を向上させることを考えていました。出来ますか?
私も使用しようとしましARGB_8888
たが、結果は同じでした: OOM 例外。
android - グライド - 特定の時間にビデオから単一のフレームを読み込みますか?
Glide を使用して、ビデオ ファイル内のフレームをステップ実行しようとしています (Android が苦しむキーフレーム シークの問題に遭遇することなく)。ピカソでこれを行うには、次のようにします。
(frameNumber は、毎回 50000 マイクロ秒ずつ増加する単純な int です)。次のような PicassoVideoFrameRequestHandler もあります。
代わりに Glide を使用したいと思います。メモリの処理が少し優れているからです。Glide でこの機能を使用する方法はありますか?
または、実際には、ステップスルーできるビデオからフレームのセットを作成する他の方法です!
ありがとう!
android - Glide ライブラリの BitmapTransformation が期待どおりに機能しない
ここにある変換ガイドに従って、Glide ライブラリを初めて使用します: https://github.com/bumptech/glide/wiki/Transformations
カスタム変換を作成しようとしていますが、Transformation クラスのtransform
メソッドにブレークラインを配置すると、それが呼び出されないことがわかります。
以下は私のコードです:
2 つの方法で Glide を開始しようとしました。
と
しかし、どちらも機能しません。何か案は?繰り返しますが、私は Matrix 自体についてアドバイスを求めているわけtransform(...)
ではありません。ありがとう!
android - TextureView でビットマップを描画するにはどうすればよいですか
Androidでビデオを再生しようとしていTextureView
ます。ビデオに関しては、すべてがうまく機能します。しかしMediaPlayer.prepare();
、少し時間がかかります。そのため、その時のプレースホルダーをいくつか示したいと思います。私はこのようにグライドでそれをやろうとしています:
しかし、それは画像を表示しません。私は手動SurfaceView
で呼び出す必要がありますonDraw
。そして、これにはSurfaceHolderが使用されています。しかし、方法TextureView
がありませんgetSurfaceHolder()
。
これを行う正しい方法は何ですか?
UPD:私が理解したのは、設定しないと画像が表示されるということです。これは、ビデオをバッファリングしている間、表面を黒く保つMediaPlayer
ことを意味します。MediaPlayer
どうにかしてこの動作をオーバーライドすることは可能ですか?