-
11111111111111111111111111111111111111111111111111111111111111111111111111111111111
查看全部 -
1.Android為每一個應用分配了8兆的應用空間
查看全部 -
Fresco方法加載圖片到自定義VIEW查看全部
-
ok查看全部
-
好查看全部
-
圖片加載難點:oom內存溢出,圖片尺寸和縮略圖處理 圖片加載與緩存機制查看全部
-
Fresco屬性配置 二查看全部
-
Fresco屬性配置 一查看全部
-
Fresco流程 類似于前兩種框架,具體參考截圖查看全部
-
Fresco Facebook在2015年推出的一款開源框架,集成了以上兩種框架的優點。其特點如下: 1)完善的內存緩存和釋放機制 釋放機制:一旦超過一定的值,就會釋放部分內存 2)漸進式圖片加載 3)動圖支持 4)可高度自定義的UI 圓角、倒角等 5)可高度自定義的圖片加載過程查看全部
-
筆記分段 二 Picasso.with(this).load("http://img1.gtimg.com/sports/pics/hv1/254/243/2090/135964469.jpg") .placeholder(R.drawable.girl) //正在加載的過程中顯示的圖片 .error(R.drawable.girl) //加載失敗的話,顯示的圖片 .into(iv); } private int dp2px(Context context, float dp){ float scale = context.getResources().getDisplayMetrics().density(); return (int)(dp*scale+0.5f); } }查看全部
-
筆記分段 一 二、Picasso用法 1)添加權限 2)布局文件里需要加一個ImageView控件 3)Activity文件 public class Mainactivity exends Activity{ private ImageView iv; @Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main); iv= (ImageView)findviewById(R.id.imageView); Picasso.with(this).load(R.drawable.girl).into(iv); //加載本地文件 Picasso.with(this).load(new File("/storage/emulated/0/Pictures/Scrrenshots/dog.jpg")).into(iv); //加載本地sd卡文件 Picasso.with(this).load("file:///android_asset/funny.jpg").into(iv); //運行asserts中文件 Picasso.with(this).load("http://img1.gtimg.com/sports/pics/hv1/254/243/2090/135964469.jpg").into(iv); //加載網絡圖片 Picasso.with(this).load("http://img1.gtimg.com/sports/pics/hv1/254/243/2090/135964469.jpg") .resize(dp2px(this,200f),dp2px(this,200f)) .into(iv);查看全部
-
筆記分段 三 流程示意圖查看全部
-
筆記分段 二 3)在Adapter中回收和取消當前的下載功能 區別與ImageLoader主要特點 解決了listview和gridview的列表復用問題,能夠使圖片不錯位 @Override public void getView(int postion, View convertView, ViewGroup parent){ ImageView view = (ImageView) convertView; if(view == null){ view = new ImageView(context); } String url = getItem(postion); Picasso.with(context).load(url).into(view); } 4)轉換圖片以適應布局大小并減少內存占用 Picasso.with(context).load(url) .resize(50,50) .centerCrop() .into(imageView);查看全部
-
Picasso Picasso是Square公司開源的一個Android圖片緩存庫。實現圖片下載和緩存功能。特點 1)加載網絡或者本地圖片并自動緩存處理 Picasso.with(context).load(imageUri).into(imageView); //代碼很清晰,簡介 2)圖形轉換操作,如變化大小,旋轉等,提供了接口來讓用戶可以自定義轉換操作查看全部
-
注意,為避免OOM 1)設置線程池內加載的數量時,官方推薦最好設置1-5之間 threadPoolSize(3) 2) 配置解碼格式時,設置成565方式,默認是888方式(比較消耗內存) bitmapConfig(Bitmap.Config.RGB_565); //設置圖片解碼類型 3)盡量使用displayImage方法 因為loadImage方法需要再次手動調用setImageBitmap方法,又消耗了一次內存查看全部
-
//第二種加載圖片方式,通過loadImage方法 //與displayImage方法不同之處,是必須要手動調用setImageBitmap方法將圖片塞到imageView控件里 //還有一種不同是,displayImage方法對對象的引用是弱引用,推薦 ImageSize imageSize = new ImageSize(800,800); imageLoader.loadImage("http://img1.gtimg.com/sports/pics/hv1/254/243/2090/135964469.jpg",imageSize, new ImageLoadingListener(){ @Override public void onLoadingStarted(String arg0, View arg1){ pd.show(); //開始加載時,顯示對話框 } @Override public void onLoadingFailed(String arg0, View arg1, FailReason arg2){ pd.dismiss();//加載失敗時,關閉對話框 } @Override public void onLoadingComplete(String arg0, View arg1, Bitmap arg2){ pd.dismiss();//加載成功時,關閉對話框 iv.setImageBitmap(arg2); //加載結束時,必須手動調用setImageBitmap方法將圖片塞到imageView控件里 } @Override public void onLoadingCancelled(String arg0, View arg1){ } });查看全部
-
筆記分段 三 //方式二、不帶自定義配置 imageLoader.displayImage("file:///storage/emulated/0/Pictures/Screenshots/dog.jpg",iv, new ImageLoadingListener(){ @Override public void onLoadingStarted(String arg0, View arg1){ pd.show(); //開始加載時,顯示對話框 } @Override public void onLoadingFailed(String arg0, View arg1, FailReason arg2){ pd.dismiss();//加載失敗時,關閉對話框 } @Override public void onLoadingComplete(String arg0, View arg1, Bitmap arg2){ pd.dismiss();//加載成功時,關閉對話框 } @Override public void onLoadingCancelled(String arg0, View arg1){ //TODO } }); } }查看全部
-
筆記分段 二 /** 設置自定義配置表 */ DisplayImageOptions options = new DisplayImageOptions.Builder() .showImageOnLoading(R.drawable.girl) //設置圖片在下載期間顯示的圖片 .showImageForEmptyUri(R.drawable.girl) //設置圖片Uri為空或是錯誤的時候顯示的圖片 .showImageOnFail(R.drawable.girl) .cacheInMemory(true) .cacheOnDisc(true) .bitmapConfig(Bitmap.Config.RGB_565) //設置解碼格式 .build(); //1)加載sd卡中的一個圖片, url: file:///storage/emulated/0/Pictures/Screenshots/dog.jpg //2)加載resource中的一個圖片,url:“drawable://”+R.drawable.girl //3)content://.../xx.jpg //4) assets://funny.jpg //5) http://形式 //方式一、帶自定義配置 imageLoader.displayImage("file:///storage/emulated/0/Pictures/Screenshots/dog.jpg",iv, options, null);查看全部
-
3、Universal-Image_Loader用法講解 筆記分段 一 1)導入項目 2)添加權限 3)自定義MyApplication類 自定義配置表 4)在新建的ACitivity中創建布局文件并演示 public class Mainactivity exends Activity{ private ImageView iv; private ImageLoader imageLoader; private ProgressDialog pd; @Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main); iv= (ImageView)findviewById(R.id.imageView); imageLoader = ImageLoader.getInstance(); //單例模式 pd = new ProgressDialog(this); pd.setTitle("提示"); pd.setMessage("圖片加載中,請稍后...");查看全部
-
2、Universal-Image_Loader流程 內存緩存-本地文件緩存-網絡請求 1)內存緩存 key-value 2)本地文件緩存 sd卡目錄 3)網絡請求查看全部
-
一、Universal-Image-Loader圖片加載框架 特點 1)支持本地圖片和網絡圖片的多線程異步加載和緩存處理 本地比如:sd卡中、resource中 網絡比如:http 線程池請求 三級緩存機制 2)個性化的配置自己項目ImageLoader 比如請求的線程池數量、文件最終裁剪的長寬、輸出文件的sd卡路徑等 3)支持圖片下載過程的監聽回調 開始加載、加載比例等 4)根據控件的大小對Bitmap進行裁剪,減少占用過多的內存 5)較好的控制圖片的加載過程,例如暫停圖片加載,重新開始加載圖片查看全部
-
網絡圖片加載難點 如果自己寫框架的話,非常麻煩,比如設計到多線程網絡請求,內存溢出,圖片裁剪縮放等等。 一定要處理好以下幾點 1)OOM內存溢出 android給每個應用分配8MB的內存空間 2)圖片尺寸和縮略圖處理 自定義需求,且可以縮小圖片大小 3)圖片加載和緩存機制 一般三級緩存機制 本節課介紹三種圖片加載庫查看全部
-
挺好的查看全部
-
UIL特點查看全部
-
網絡圖片加載難點查看全部
舉報
0/150
提交
取消