2016-09-29 4 views
0

Glideを使用していくつかのイメージを取得しています。それらを直接ビットマップにフェッチしてから、RenderScriptを使用してそのビットマップをぼかし、UIのぼかしを表示します。RenderScriptのブレークビットマップがロードされているGlide

UI自体に「すべての画像」アクティビティと「単一画像」アクティビティがあります。ユーザーが最初のアクティビティで画像をクリックすると、ぼかしたバージョンが2番目のアクティビティに表示されるので、同じ画像を前後に開閉することができます。

この問題は画像が壊れてしまい、すべてのアプリデータを消去しない限り修正できないという問題があります。

この問題は、アプリの再インストール(Android Studioを使用)にも影響します。したがって、画像を開いてコードを変更してからアプリを再インストールすると、画像が表示され、 の直後に画像が破損することがあります(データを消去しない限り)。

グライドを使用してロードされたビットマップでのみ発生します。描画可能なリソースをビットマップとして取得すれば、すべてうまくいきます。

更新日: これはここで使用されるコードです。

Bitmap logo = Glide.with(context) 
         .load(url) 
         .asBitmap() 
         .into(80, 80) 
         .get(); 
return BlurBuilder.blur(context, logo); 

そしてBlurBuilderここからコピーされたクラスです。Create blurry transparent background effect

Broken image

+0

いくつかの質問があります:1. Androidスタジオでインスタント実行機能を使用していますか? 2.コードスニペットを投稿して画像をぼかすことができましたか、私はあなたのコードがぼやけた画像をどのように扱ったのかを意味します。 –

+0

私は自分の質問を更新しました。あなたは質問2の答えを見つけることができます。質問1 - いいえ、インスタント実行を使用しません。 – SadClown

答えて

2

は同じ問題を抱えていました。グライドデコード形式をARGB_8888に設定して解決しました。 https://github.com/bumptech/glide/wiki/Configuration#bitmap-format

+0

キャッシュオプションを調整することで既に動作させることができましたが、キャッシュを変更せずに動作させるとすばらしいことになります。最近、いつかチェックして、結果を返します。 – SadClown

+0

それは動作します。ありがとう。 – SadClown

関連する問題