php出现oom,程序出现oom的情况

这篇博客介绍了Android新手在开发学习程序时遇到的问题,使用RecyclerView展示美拍小视频,图片通过Glide加载。然而在滑动界面时,随着加载内容增加,Logcat显示Glide内存溢出。博主给出了onBindViewHolder和ViewHolder的代码,并展示了如何设置点击事件、加载视频封面以及用户头像。尽管程序可以运行,但内存管理成为了一个挑战。
摘要由CSDN通过智能技术生成

android新手,在写一个学习程序,用recyclerview显示美拍的小视频。其中视频地图片使用glide加载的,程序能使用,可是滑动界面,随着加载的内容增多,as中的logcat显示glide oom了。

下面是onBind和viewHolder的代码,很简单

@Override

protected void onBindItemViewHolder(ViewHolder holder, int position) {

final MediaEntity entity=getItem(position);

holder.shadowImageView.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

onItemClickListener.OnItemClick(entity);

}

});

holder.textImageView.setTextImageStart(18, R.mipmap.ic_thumb_up_gray_18dp, " " + entity.getLikes_count());

holder.textView.setText(entity.getCaption());

L.d(entity.getCover_pic());

Glide.with(activity)

.load(entity.getCover_pic())

.placeholder(R.mipmap.bg_video_default)

.fitCenter()

.into(holder.shadowImageView);

AppUtils.loadSmallUserAvata(activity,entity.getUser(),holder.bgaBadgeImageView);

}

public static class ViewHolder extends RecyclerView.ViewHolder{

public BGABadgeImageView bgaBadgeImageView;

public TextView textView;

public TextImageView textImageView;

public ShadowImageView shadowImageView;

public ViewHolder(View itemView) {

super(itemView);

bgaBadgeImageView= (BGABadgeImageView) itemView.findViewById(R.id.bga_iv_avatar_video_list);

textView= (TextView) itemView.findViewById(R.id.tv_recommend_caption_video_list);

textImageView= (TextImageView) itemView.findViewById(R.id.tiv_likes_count_video_list);

shadowImageView= (ShadowImageView) itemView.findViewById(R.id.siv_cover_pic_video_list);

}

}

程序界面

![图片描述][1]

bVsABg

Java 程序可能出现 OOM(Out of Memory)的情况有以下几种: 1. 堆内存不足:Java 程序的堆内存用于存储对象实例,如果堆内存不足,就会出现 OOM 问题。例如,Java 程序中创建了大量的对象实例,但是堆内存不足以存储这些对象实例,就会出现 OOM 问题。 2. 元空间不足:Java 8 引入了元空间(Metaspace)来代替 PermGen,用于存储类元数据。如果元空间不足,就会出现 OOM 问题。例如,Java 程序中动态生成了大量的类,但是元空间不足以存储这些类的元数据,就会出现 OOM 问题。 3. 栈空间不足:Java 程序的栈空间用于存储方法调用的状态和局部变量等信息。如果栈空间不足,就会出现 StackOverflowError(栈溢出)问题。例如,Java 程序中递归调用了一个方法,但是栈空间不足以存储递归调用的状态,就会出现 StackOverflowError 问题。 4. 本地内存不足:Java 程序可以使用本地方法库来调用本地系统资源,例如调用 C 语言编写的库文件。如果本地内存不足,就会出现 OOM 问题。例如,Java 程序中调用了大量的本地方法,但是本地内存不足以存储这些方法的数据和状态,就会出现 OOM 问题。 5. 永久代(PermGen)不足:Java 7 及之前的版本使用 PermGen 来存储类元数据和字符串常量等信息。如果 PermGen 不足,就会出现 OOM 问题。例如,Java 程序中动态生成了大量的类或者字符串常量,但是 PermGen 不足以存储这些信息,就会出现 OOM 问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值