System UI isn't responding 与goldfish_dma_create_region:相关

问题遇到的现象和发生背景

debug时出现问题: eglCodecCommon: goldfish_dma_create_region: could not obtain fd to device! fd -1 errno=2
在模拟器上运行时:

img


返回logcat看到的错误:

img

问题相关代码

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="cn.itcast.experiment_4">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="recyclerView"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.Experiment_4">
        <activity
            android:name=".MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

package cn.itcast.experiment_4;

public class Song {
    private String SongName;
    private  int imgID;

    public Song(String SongName, int imgID) {
        this.SongName = SongName;
        this.imgID = imgID;
    }

    public String getSongName() {
        return SongName;
    }

    public int getImgID() {
        return imgID;
    }
}

package cn.itcast.experiment_4;

import android.annotation.SuppressLint;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

import java.util.ArrayList;
import java.util.List;

public class SongAdapter extends RecyclerView.Adapter<SongAdapter.ViewHolder> {
    private List<Song> SongList;
    public SongAdapter(List<Song> SongList) {
        this.SongList = SongList;
    }
    //在onCreateViewHolder()中完成布局的绑定,同时创建ViewHolder对象,返回ViewHolder对象
    @NonNull
    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.song_item,parent,false);
        ViewHolder holder = new ViewHolder(view);
        return holder;
    }
    //在内部类中完成对控件的绑定
    public static class ViewHolder extends RecyclerView.ViewHolder {

        private final ImageView imageView;
        private final TextView textView;

        @SuppressLint("CutPasteId")//处理版本不兼容问题
        public ViewHolder(View itemView) {
            super(itemView);
            imageView = itemView.findViewById(R.id.IV_one_day);
            textView = itemView.findViewById(R.id.TV_one_day);
        }
    }
    //在onBindViewHolder()中完成对数据的填充
    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {

        holder.imageView.setImageResource(SongList.get(position).getImgID());
        holder.textView.setText(SongList.get(position).getSongName());
    }
    @Override
    public int getItemCount() {
        return SongList.size();
    }
}

package cn.itcast.experiment_4;

import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import android.app.Activity;
import android.os.Bundle;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends Activity{
    private final List<Song> songList = new ArrayList<>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initList();
        RecyclerView recyclerView = findViewById(R.id.main_rv_4);
        LinearLayoutManager linearLayoutManager=new LinearLayoutManager(MainActivity.this);
        recyclerView.setLayoutManager(linearLayoutManager);
        SongAdapter adapter = new SongAdapter(songList);
        recyclerView.setAdapter(adapter);
    }
    private void initList()
    {
        Song One_Day = new Song("One_Day",R.drawable.one_day);
        songList.add(One_Day);
        Song Dear_John = new Song("Dear_John",R.drawable.dear_john);
        songList.add(Dear_John);
        Song Duck_Till_Dawn = new Song("Duck_Till_Dawn",R.drawable.duck_till_dawn);
        songList.add(Duck_Till_Dawn);
        Song Euphoria = new Song("Euphoria",R.drawable.euphoria);
        songList.add(Euphoria);
        Song Golden_Light = new Song("Golden_Light",R.drawable.golden_light);
        songList.add(Golden_Light);
        Song La_La_La = new Song("La_La_La",R.drawable.la_la_la);
        songList.add(La_La_La);
        Song Last_Reunion = new Song("Last_Reunion",R.drawable.last_reunion);
        songList.add(Last_Reunion);
        Song Na_Na_Na = new Song("Na_Na_Na",R.drawable.na_na_na);
        songList.add(Na_Na_Na);
        Song Something_Just_Like_This = new Song("Something_Just_Like_This",R.drawable.something_just_like_this);
        songList.add(Something_Just_Like_This);
    }
}


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    >
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
        <ImageView
        android:id="@+id/IV_one_day"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_margin="0dp"
            />

        <TextView
        android:id="@+id/TV_one_day"
        android:layout_width="300dp"
        android:layout_height="100dp"
        android:gravity="center"
        android:textSize="25sp" />


    </LinearLayout>



</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/main_rv_4"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="0dp">

    </androidx.recyclerview.widget.RecyclerView>

</androidx.constraintlayout.widget.ConstraintLayout>

这个问题怎么解决,上网百度了好久都没有找到类似的关键字eglCodecCommon: goldfish_dma_create_region: could not obtain fd to device! fd -1 errno=2。

换个模拟器吧

关机几小时后重启相同模拟器可以运行,但是结果有些不对,recyclerview的效果是一个item占了一页模拟器页面的高度,相当于item之间隔了一整个模拟器高度的距离。此外,用新建的模拟器运行,向下划到第二个item多一点就XXX has stopped了,而使用之前的模拟器可以划完全部内容而不闪退,所以应该是代码问题。但是我是刚刚刚刚接触Java的,更别提AS了,希望诸位大哥能发现其中问题所在!

img