<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      安卓筆記俠

      專注安卓開發

      導航

      ImageLoader

      1.準備工作

      1)導入universal-image-loader-1.9.5.jar到項目中

      2)創建MyApplication繼承Application,在oncreate()中初始化ImageLoader

      public class MyApplication extends Application {
      
          @Override
          public void onCreate() {
              super.onCreate();
              initImageLoader(this);
          }
      
          // 初始化imageloader
          private void initImageLoader(Context context) {
              // 初始化參數
              ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context)
                      .threadPriority(Thread.NORM_PRIORITY - 2)               // 線程優先級
                      .denyCacheImageMultipleSizesInMemory()                  // 當同一個Uri獲取不同大小的圖片,緩存到內存時,只緩存一個。默認會緩存多個不同的大小的相同圖片
                      .discCacheFileNameGenerator(new Md5FileNameGenerator()) // 將保存的時候的URI名稱用MD5
                      .tasksProcessingOrder(QueueProcessingType.LIFO)         // 設置圖片下載和顯示的工作隊列排序
                      .writeDebugLogs()                                       // 打印debug log
                      .build();
      
              // 全局初始化此配置
              ImageLoader.getInstance().init(config);
          }
      }
      

       

      2.ImageLoader_Listview中使用

      5)初始化DisplayImageOptions
      6)獲取ImageLoader實例
      7)顯示加載的圖片

      public class ImageloaderListviewAdapter extends BaseAdapter {
          private Context mContext;
          private final ImageLoader imageLoader;
          private DisplayImageOptions options = new DisplayImageOptions.Builder()
                  .showStubImage(R.drawable.atguigu_logo)          // 設置圖片下載期間顯示的圖片
                  .showImageForEmptyUri(R.drawable.atguigu_logo)  // 設置圖片Uri為空或是錯誤的時候顯示的圖片
                  .showImageOnFail(R.drawable.atguigu_logo)       // 設置圖片加載或解碼過程中發生錯誤顯示的圖片
                  .cacheInMemory(true)                        // 設置下載的圖片是否緩存在內存中
                  .cacheOnDisk(true)                          // 設置下載的圖片是否緩存在SD卡中
                  .displayer(new RoundedBitmapDisplayer(20))  // 設置成圓角圖片
                  .build();                                   // 創建配置過得DisplayImageOption對象;
      
          public ImageloaderListviewAdapter(Context context) {
              mContext = context;
      
              // 初始化imageloader
              imageLoader = ImageLoader.getInstance();
          }
      
          @Override
          public int getCount() {
              return Constants.IMAGES.length;
          }
      
          @Override
          public Object getItem(int position) {
              return Constants.IMAGES[position];
          }
      
          @Override
          public long getItemId(int position) {
              return position;
          }
      
          @Override
          public View getView(int position, View convertView, ViewGroup parent) {
              Viewholder holder;
              if(convertView == null) {
                  convertView = View.inflate(mContext, R.layout.item_imageloader_listview, null);
                  holder = new Viewholder(convertView);
                  convertView.setTag(holder);
              }else {
                  holder = (Viewholder) convertView.getTag();
              }
              holder.name.setText("item"+(position + 1));
      
              imageLoader.displayImage(Constants.IMAGES[position],holder.iv,options);
      
              return convertView;
          }
      
          class Viewholder{
              @Bind(R.id.iv_imageloader_listview)
              ImageView iv;
      
              @Bind(R.id.tv_imageloader_name)
              TextView name;
      
              public Viewholder(View view) {
                  ButterKnife.bind(this,view);
              }
          }
      }
      

        

      3.ImageLoader_在ViewPager中使用

      public class ImageloaderViewpagerAdapter extends PagerAdapter {
      
          private Context mContext;
          private final ImageLoader imageLoader;
          private DisplayImageOptions options = new DisplayImageOptions.Builder()
                  .showImageForEmptyUri(R.drawable.atguigu_logo)  // 設置圖片Uri為空或是錯誤的時候顯示的圖片
                  .showImageOnFail(R.drawable.atguigu_logo)       // 設置圖片加載或解碼過程中發生錯誤顯示的圖片
                  .resetViewBeforeLoading(true)               // 設置圖片在下載前是否重置,復位
                  .cacheOnDisc(true)                          // 設置下載的圖片是否緩存在SD卡中
                  .imageScaleType(ImageScaleType.EXACTLY)     // 設置圖片以如何的編碼方式顯示
                  .bitmapConfig(Bitmap.Config.RGB_565)        // 設置圖片的解碼類型
                  .displayer(new FadeInBitmapDisplayer(300))  // 設置圖片漸變顯示
                  .build();
          ;
      
          public ImageloaderViewpagerAdapter(Context context) {
              mContext = context;
      
              // 初始化Imageloader
              imageLoader = ImageLoader.getInstance();
          }
      
          @Override
          public Object instantiateItem(ViewGroup container, int position) {
              // 添加布局文件
              View view = View.inflate(mContext, R.layout.item_imageloader_viewpager, null);
      
              // 獲取控件對象
              ImageView iv = (ImageView) view.findViewById(R.id.iv_imageloader_viewpager);
      
              // 顯示圖片
              imageLoader.displayImage(Constants.IMAGES[position], iv, options);
      
              ((ViewPager) container).addView(view, 0);
      
              return view;
          }
      
          @Override
          public void destroyItem(ViewGroup container, int position, Object object) {
              ((ViewPager) container).removeView((View) object);
          }
      
          @Override
          public int getCount() {
              return Constants.IMAGES.length;
          }
      
          @Override
          public boolean isViewFromObject(View view, Object object) {
              return view.equals(object);
          }
      }
      

       

      3.ImageLoader 內存溢出解決辦法

      1)減少線程池中線程的個數,在ImageLoaderConfiguration中的(.threadPoolSize)中配置,推薦配置1-5。
      2)在DisplayImageOptions選項中配置bitmapConfig為Bitmap.Config.RGB_565,因為默認是ARGB_8888, 使用RGB_565會比使用ARGB_8888少消耗2倍的內存。
      3)在ImageLoaderConfiguration中配置圖片的內存緩存為memoryCache(new WeakMemoryCache()) 或者不使用內存緩存。
      4)在DisplayImageOptions選項中設置.imageScaleType(ImageScaleType.IN_SAMPLE_INT)或者imageScaleType(ImageScaleType.EXACTLY)。

        

        

       

      posted on 2016-11-03 21:34  安卓筆記俠  閱讀(390)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 国产成人精品永久免费视频| 亚洲精品国产av成人网| 高清无码在线视频| 随州市| 亚洲无人区一码二码三码| 久久这里只精品国产2| 亚洲精品成人福利网站| 国产精品永久在线观看| 亚洲天堂av免费在线看| 美日韩精品一区三区二区| 国产系列丝袜熟女精品视频| 日本高清在线观看WWW色| 日韩精品一区二区三区在| 日本道播放一区二区三区| 久久亚洲av成人无码软件| 国内精品久久久久影视| 欧美亚洲精品中文字幕乱码| 白嫩少妇激情无码| 亚洲欧洲国产综合aⅴ无码| 久久热这里这里只有精品| 久久这里只有精品好国产| 国产永久免费高清在线观看| 国产睡熟迷奷系列网站| 亚洲最大av资源站无码av网址| 亚洲免费人成在线视频观看| 乐平市| 国产成人精品亚洲一区二区| 婷婷久久香蕉五月综合加勒比| 无遮挡粉嫩小泬久久久久久久| 大又大又粗又硬又爽少妇毛片| 日韩一区二区三区精彩视频| mm1313亚洲国产精品| 欧美大bbbb流白水| 亚洲一区二区啊射精日韩| 色一乱一伦一图一区二区精品 | 中文字幕国产精品综合| 风韵丰满熟妇啪啪区老熟熟女| 中文乱码人妻系列一区二区| 亚洲丰满熟女一区二区蜜桃| 日韩中文字幕一区二区不卡| 午夜精品久久久久久久久|