Glide画像のロードをすばやく把握します.

2974 ワード

まず、Androidの3段階バッファ、メモリバッファ、ディスクバッファ、ネットワークバッファ(高速から低速)について説明します.では、3段バッファの動作原理は何でしょうか.次に、一緒に分析します.
メモリバッファは優先的にロードすべきで、その速度は3級バッファの中で最も速くて、ローカルは次に、その速度もとても速くて、ネットワークバッファは最初にその衝撃するのがロード方式としてすべきでなくて、速度は遅くてしかも流量を消費します
質問ですが、なぜ優先順位があるのでしょうか.どのような運行メカニズムですか?
解答:三級バッファは、その名の通り、三級に分けられるこのようなバッファメカニズムです.すべてのアプリケーションが何千ものAppの中で生き残ることができるのは、良いideaがあるからだけでなく、良いユーザー体験が必要で、民心を得る人は天下を得て、eg:btaシリーズの製品は、すべて良い体験を得ることができます.では、どのようにして良いユーザー体験をすることができますか?第一点:機能が強い.2つ目は、メモリを節約することです.3つ目は、トラフィックを節約することです.では、今日お話ししたこの3段バッファは、メモリとトラフィックを節約するために出発します.みんなはすべて私达がすべてネットがデータを要求することを知っていて、特に电子商取引をして、多くのピクチャーを要求して、もし1つの写真1 Mならば、私达は1つの商品の情报をブラウズするだけで大量の流量を消耗して、私达のメモリがあって、だから私达の3级のバッファを引き出しました.テーマに戻って、私たちが初めて入ったとき、ifが判断して、メモリの中に必要な画像があるかどうかをクエリーして、もしなければ、ifは再び判断して、クエリーディスクの中に私たちがロードする必要がある画像があるかどうかをクエリーして、もうなくて、ネットの要求を歩いて、ネットの要求を歩いて、私たちはメモリ、ディスクにバッファする方法を呼び出して、データをバッファします.私たちが2回目に入ったとき、同じように一連の判断を行いました.メモリにデータがあるかどうかを判断すると、前にメモリに保存されていたので、私たちが望んでいるデータを取り出してreturnを行い、プログラムを下に実行することを阻止します.原生のコードの中でその複雑さ、各種の方法、各種の判断.だから大神はいくつかの方法をカプセル化して私たちに使用することができて、便利で、速いです
ImageLoadピクチャのロード方法、Glideピクチャのロード方法など、方法はたくさんあります.
今日はGlideの使い方を重点的にご紹介します.他にはあまり言わないで、直接コードとそのいくつかの方法をつけます.
*必要な作業:依存のインポート、ネットワーク権限の追加
     <uses-permission android:name="android.permission.INTERNET"/>

'com.github.bumptech.glide:glide:3.7.0'
キーコード:Glide.with(this).load(imageUri).into(imageView);この行のコードだけで、画像のロードを実現することができます.
           1.with(this)thisはFragment、Activity、Context 2.load(imageUri)loadメソッドにはURIパスを配置する、ローカルピクチャ、アプリケーションリソース、バイナリストリーム、Uriオブジェクト3をロードすることができる.into()は、要求されたリソースをコントロールに追加することです.           4.占位図:.placeholder(R.drawable.loading)注:loadingはリソースファイル5.Glideピクチャバッファ禁止:.diskCacheStrategy(DiskCacheStrategy.NONE)            6.ロードに失敗した後に表示される画像(異常占有):.error(R.drawable.error)            7.Glideのデフォルトでは、静的かGIFかを自動的に判断できます.動図を禁止したいなら、使います.asBitmap()は、第1フレームの図8のみを表示する.静図に強制的に動図を実現させる効果:asGif()9.画像のサイズ:GlideはImageViewのサイズに基づいて画像のサイズを自動的に決定する.override(100, 100)
みんなに2篇の大神郭霖の文章のリンクを推薦します
ソースアドレス:http://blog.csdn.net/guolin_blog/article/details/53939176Glideのキャッシュメカニズムを深く探究する:http://blog.csdn.net/guolin_blog/article/details/54895665
上は要求ローカルピクチャ,アプリケーションリソース,バイナリ,URIオブジェクトに関し,下のコードは実装方式である.
//ローカル画像ファイルのロード=new File(getExternalCacheDir()+「/image.jpg」);Glide.with(this).load(file).into(imageView);//アプリケーションリソースint resource=R.drawableをロードします.image; Glide.with(this).load(resource).into(imageView);//バイナリストリームbyte[]image=getImageBytes()をロードします.Glide.with(this).load(image).into(imageView);//UriオブジェクトUri imageUri=getImageUri()をロードします.Glide.with(this).load(imageUri).into(imageView);