我使用fragment+viewpager组合,结合bitmapfun

Corotata 发布于 2013/07/11 11:00
阅读 1K+
收藏 0
         我使用fragment+viewpager组合,结合bitmapfun用来做图片缓存的东西,fragment页面内容是一个gridview,里面会有图和一些文字排版内容,总共有三项,平常bitmapfun使用结合gridview时,速度很快,但是像我这种结合了 fragment+viewpager的,不晓得为啥,加载20几K的东西,速度都很慢,会是因为什么机制影响到他的效率吗?
加载中
0
打杂程序猿
打杂程序猿
明显是你代码问题。。
Corotata
Corotata
代码我贴在下面了,麻烦帮忙看看。
Corotata
Corotata
这位大神,能这么说应该是有经验了,请问有没相关的DEMO啥的可供借鉴。
0
Corotata
Corotata
public class ItemFragment extends Fragment {
	int mNum;
	int type;
	Contents contents = null;
	Cover cover = null;
	Contexts contexts = null;
	static GestureDetector detector;
	private int[] pagetemplate_gridview = new int[] {
			R.layout.layout_pagetemplate2_gridview,
			R.layout.layout_pagetemplate3_gridview,
			R.layout.layout_pagetemplate4_gridview };

	public static Fragment newInstance(int position, GestureDetector detectors) {
		ItemFragment f = new ItemFragment();
		Bundle args = new Bundle();
		args.putInt("num", position);
		f.setArguments(args);
		detector = detectors;
		return f;
	}

	/**
	 * When creating, retrieve this instance's number from its arguments.
	 */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		mNum = getArguments() != null ? getArguments().getInt("num") : 1;
		if (mNum == 0) {
			type = 1;
		} else if (mNum == 1) {
			type = 2;
		} else {
		}
	}

	/**
	 * The Fragment's UI is just a simple text view showing its instance number.
	 */
	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {

		View view = null;
		if (type == 1) {
			view = inflater.inflate(R.layout.layout_cover_activity, container,
					false);
			cover = new Cover(getActivity(), view, getFragmentManager());

		} else if (type == 2) {
			view = inflater.inflate(R.layout.layout_contents_activity,
					container, false);
			contents = new Contents(getActivity(), view);

		} else {
			view = inflater.inflate(
					pagetemplate_gridview[Static.magazine.getMagazinePage()
							.get(mNum - 2).getPageTemplate_Code() - 2], null);
			contexts = new Contexts(getActivity(), view, mNum - 2,getFragmentManager());
			Log.e("TAG", mNum + "");
		}

		return view;
	}



}//这是我的代码,另一个类LoadImage则是用来统一处理的。
public class LoadImage {
 public static ImageFetcher mImageFetcher = null; 
 public static ImageCacheParams cacheParams = new ImageCacheParams(new File(Static.filePath));
 public static void loadImage(Context context,FragmentManager fragmentManager,ImageView imageview,int weight,int height,String GID,int imageType,String imagePath){
 mImageFetcher = new ImageFetcher(context, weight,height);
 cacheParams.setMemCacheSizePercent(context, 0.25f);
 cacheParams.diskCacheSize = 1024*1024*100;
 mImageFetcher.setLoadingImage(R.drawable.ic_launcher);
 mImageFetcher.addImageCache(fragmentManager, cacheParams);
 if (new File(Static.getCoverBig_ImagePath()).exists()) {
 Log.e("TAG",imagePath);
 
 mImageFetcher.loadImage(imagePath,imageview,weight,height);
 }
 else{
 String webPath = Constant.IMAGE_LOADING +
 "?Magazine_GID="+ Static.magazine.getGid()
 + "&Direction_GID=" + GID
 + "&Direction_Type=" + imageType;
 mImageFetcher.loadImage(webPath,imageview);
 Log.e("ABC", webPath);
 }
 }
}
0
打杂程序猿
打杂程序猿
看了一下,没必要用framgent + viewpage ...

直接用viewpage....
Corotata
Corotata
100个页面你说能直接用viewpager吗?
0
打杂程序猿
打杂程序猿

引用来自“打杂程序猿”的答案

看了一下,没必要用framgent + viewpage ...

直接用viewpage....
100个page 。。。。又是一个槽点,
照你的逻辑,fragment在 100个page 下运行的非常好的意思?


Corotata
Corotata
难道你不知道FragmentStatePagerAdapter的管理机制?唉,看来你还没到这一步,我问错人了。
0
打杂程序猿
打杂程序猿

引用来自“打杂程序猿”的答案

引用来自“打杂程序猿”的答案

看了一下,没必要用framgent + viewpage ...

直接用viewpage....
100个page 。。。。又是一个槽点,
照你的逻辑,fragment在 100个page 下运行的非常好的意思?


.......又是槽点。。。我会告诉你那玩意在第几行吗。。。。。
Corotata
Corotata
确实我没看出是哪行。
0
打杂程序猿
打杂程序猿
真的无力吐槽。。。这种继承自。。pageadapter...实现起来不到200行的fragment page adapter。。。居然。。有人当成很牛叉的东西。。。实际上就是 fragment -> view 的东西。
0
打杂程序猿
打杂程序猿
而你推崇的管理机制。。。就是viewpage 自带就有的。。。。一套接口。。。看代码也看仔细一点吧。。
Corotata
Corotata
能解决问题,我会很感谢你,如果没有的话,那就这样子吧。
Corotata
Corotata
没啥好说的,如果诚心帮忙,直接一语点破,不诚心的说一堆有的没的,一点建议性没的,我也只能那样说了,人家google直接啥玩意给你写好,处理也好,为啥要自己再没事去搞有的没的,我是来寻找答案的,不是来吵架的。至于牛叉不牛叉,说真的我也没看出来。
0
打杂程序猿
打杂程序猿

引用来自“打杂程序猿”的答案

而你推崇的管理机制。。。就是viewpage 自带就有的。。。。一套接口。。。看代码也看仔细一点吧。。
一开始我就回答了。。。你看过,你推崇的那玩意的实现。。就能明白我的回答。。。
0
打杂程序猿
打杂程序猿

引用来自“打杂程序猿”的答案

而你推崇的管理机制。。。就是viewpage 自带就有的。。。。一套接口。。。看代码也看仔细一点吧。。
国内的stackoverflow 做不起来的原因啊。。。哎。。。
0
Corotata
Corotata
中国的技术大牛,几个会有事没事有那爱心,粗略扫了下你以往回答过的问题,哪个不是草草的,不是你代码有问题就是什么这个那个,有捉本质?有像stackoverflow一样有给出一些建议性的东西或者代码介绍?没笑,一直在嘲讽 国内的stackoverflow 做不起来,而认为自己有本事的话,自己为啥不懂得去帮更多人,这是一种风气,懂吗,有人做了就有人跟,有人跟了就会壮大,一直背地里憋屈,说这说那有个毛线用?
返回顶部
顶部