android view内存,Android ViewPager内存泄漏

我需要在Android中用5张幻灯片创建ViewPager,每张幻灯片都包含图像和文本。我有一个包含图像资源的数组:

private static final int[] images = {R.drawable.tutorial_step_01, R.drawable.tutorial_step_02, R.drawable.tutorial_step_03, R.drawable.tutorial_step_04, R.drawable.tutorial_step_05, R.drawable.tutorial_step_06};

然后我创建适配器:

@Override

public Object instantiateItem(ViewGroup container, int position) {

LinearLayout tv = (LinearLayout) inflater.inflate(R.layout.tut_slide, null);

TextView title = (TextView) tv.findViewById(R.id.tut_title);

title.setText(getResources().getText(titles[position]));

TextView content = (TextView) tv.findViewById(R.id.tut_content);

ImageView image = (ImageView) tv.findViewById(R.id.tut_image);

slide_image = BitmapFactory.decodeResource(getResources(), images[position]);

image.setImageBitmap(slide_image);

content.setText(getResources().getText(contents[position]));

((ViewPager) container).addView(tv, 0);

return tv;

}

@Override

public void destroyItem(ViewGroup container, int position, Object object) {

((ViewPager) container).removeView((LinearLayout) object);

//

}

问题是,事实是我不想在我选择另一个页面后android收集图像。因此,在10-15更改后,它会因OutOfMemory异常消失。然后我添加到initializung行

if (slide_image!= null) {

slide_image.recycle();

System.gc();

}

而且效果很好!但除了一件事:我有黑屏而不是第一个图像,几次翻转后,它被真实的图像代替。所以我不知道该怎么办

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值