最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

android 解決ViewPager加載大量圖片內(nèi)存溢出問題

 更新時間:2016年07月08日 11:56:35   投稿:lqh  
本篇文章是介紹 android 解決ViewPager加載大量圖片內(nèi)存溢出問題,并附有代碼實例,希望能幫到有需要的小伙伴

1.大家都知道為ViewPager構(gòu)建適配器繼承PagerAdapter,怎么構(gòu)建就不說了。Viewpager會默認加載當前頁和當前頁的左右兩頁。一開始當前頁是下標0,所以一開始默認加載第0頁(指下標,下同)和第1頁。當你向右滑動,當前頁為第1頁時,ViewPager會加載第2頁,這時一共有3頁存在(第0,1,2頁)。再向右滑動,當前頁為第2頁時,會移除第0頁,加載第3頁,同理向左滑動當前頁為第1頁時,會移除第3頁。這么說應該懂了吧。

知道了上面的原理,就可以讓ViewPager始終只加載3頁的圖片。加載是執(zhí)行instantiateItem(...)方法,移除是執(zhí)行destroyItem(...)方法,可以在instantiateItem(...)里加載某一頁的圖片,在destroyItem(...)里回收某一頁的圖片。附上代碼:

2.代碼實例:

package com.example.test;
 
import java.util.ArrayList;
 
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.widget.ImageView;
 
public class TestActivity extends Activity{
 
 private ViewPager mPager;
 private ArrayList<View> views;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 views=new ArrayList<View>();
 views.add(new ImageView(this));
 views.add(new ImageView(this));
 views.add(new ImageView(this));
 views.add(new ImageView(this));
 views.add(new ImageView(this));
 views.add(new ImageView(this));
 views.add(new ImageView(this));
 views.add(new ImageView(this));
  
 mPager=new ViewPager(this);
 mPager.setAdapter(new MyPagerAdapter());
 setContentView(mPager);
 }
 
 class MyPagerAdapter extends PagerAdapter{
 
 @Override
 public void destroyItem(View container, int position, Object object) {
  //在此次回收圖片
  //........回收代碼
  
  //移除頁面
  ((ViewPager)container).removeView(views.get(position));
 }
 
 @Override
 public Object instantiateItem(View container, int position) {
  // 在此次加載圖片
  //......加載圖片代碼
  
  //加載頁面
  ((ViewPager)container).addView(views.get(position), 0);
  return views.get(position);
 }
 
 @Override
 public int getCount() {
  // TODO Auto-generated method stub
  return views.size();
 }
 
 @Override
 public boolean isViewFromObject(View arg0, Object arg1) {
  // TODO Auto-generated method stub
  return false;
 }
  
 }
}

相關(guān)文章

  • Android自定義水平漸變進度條

    Android自定義水平漸變進度條

    這篇文章主要為大家詳細介紹了Android自定義水平漸變進度條,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • android實現(xiàn)定位與目的地的導航示例代碼

    android實現(xiàn)定位與目的地的導航示例代碼

    本篇文章主要介紹了android實現(xiàn)定位與目的地的導航示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • Android實現(xiàn)畫板功能(二)

    Android實現(xiàn)畫板功能(二)

    這篇文章主要為大家詳細介紹了Android實現(xiàn)畫板功能的第二篇,使用imageView,bitmap方式實現(xiàn)畫板,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • Android實現(xiàn)用文字生成圖片的示例代碼

    Android實現(xiàn)用文字生成圖片的示例代碼

    本篇文章主要介紹了Android實現(xiàn)用文字生成圖片的示例代碼,這里整理了詳細的代碼,非常具有實用價值,需要的朋友可以參考下
    2017-08-08
  • Android中判斷網(wǎng)絡是否可用的代碼分享

    Android中判斷網(wǎng)絡是否可用的代碼分享

    這篇文章主要介紹了Android中判斷網(wǎng)絡是否可用的代碼分享,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下
    2015-03-03
  • Flutter綜合部分頁面詳情頁實現(xiàn)過程示例

    Flutter綜合部分頁面詳情頁實現(xiàn)過程示例

    這篇文章主要為大家介紹了Flutter綜合部分頁面詳情頁實現(xiàn)過程步驟示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • 詳解android與服務端交互的兩種方式

    詳解android與服務端交互的兩種方式

    這篇文章主要介紹了詳解android與服務端交互的兩種方式,此處介紹兩種方式:使用Google原生的Gson解析json數(shù)據(jù),使用JSONObject解析json數(shù)據(jù),有興趣的可以了解一下
    2017-07-07
  • Android 倒計時控件 CountDownView的實例代碼詳解

    Android 倒計時控件 CountDownView的實例代碼詳解

    這篇文章主要介紹了Android 倒計時控件 CountDownView的實例代碼,代碼簡單易懂,非常不錯,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • Android開發(fā)獲取系統(tǒng)中已安裝程序信息的方法

    Android開發(fā)獲取系統(tǒng)中已安裝程序信息的方法

    這篇文章主要介紹了Android開發(fā)獲取系統(tǒng)中已安裝程序信息的方法,可實現(xiàn)Android針對系統(tǒng)中已安裝程序名稱、路徑、大小、圖標、是否為系統(tǒng)app等信息的獲取功能,需要的朋友可以參考下
    2017-12-12
  • Android中ListView下拉刷新的實現(xiàn)代碼

    Android中ListView下拉刷新的實現(xiàn)代碼

    這篇文章主要介紹了Android中ListView下拉刷新的實現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下
    2017-06-06

最新評論

晋城| 韶关市| 沾化县| 会同县| 循化| 大姚县| 清河县| 合作市| 深水埗区| 仪征市| 尚义县| 清镇市| 抚松县| 玉龙| 阿合奇县| 抚宁县| 林芝县| 兴国县| 靖边县| 苍山县| 观塘区| 武宁县| 多伦县| 潼关县| 延吉市| 海丰县| 同仁县| 扶余县| 渑池县| 施甸县| 馆陶县| 建湖县| 惠州市| 米易县| 图木舒克市| 时尚| 德安县| 博爱县| 屯昌县| 玉林市| 万宁市|