Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java GridView应用程序启动时窗口已满_Java_Android_Gridview_Android Gridview - Fatal编程技术网

Java GridView应用程序启动时窗口已满

Java GridView应用程序启动时窗口已满,java,android,gridview,android-gridview,Java,Android,Gridview,Android Gridview,下面是我的gridbuilder类在应用程序启动时用于mainactivity public class GridBuilderActivity extends BaseAdapter { private Context mcontext; private final String[] featurename; private final int[] Imageid; public GridBuilderActivity(Context context, St

下面是我的gridbuilder类在应用程序启动时用于mainactivity

public class GridBuilderActivity extends BaseAdapter {

    private Context mcontext;
    private final String[] featurename;
    private final int[] Imageid;

    public GridBuilderActivity(Context context, String[] featurename, int[] Imageid) {

        mcontext = context;
        this.featurename = featurename;
        this.Imageid = Imageid;
    }

    @Override
    public int getCount() {
        return Imageid.length;
    }

    @Override
    public Object getItem(int position) {
        return null;
    }

    @Override
    public long getItemId(int position) {
        return 0;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View grid;
        LayoutInflater inflater = (LayoutInflater) mcontext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        if (convertView == null) {
            grid = new View(mcontext);
            grid = inflater.inflate(R.layout.grid_layout, null);
            TextView textView = (TextView) grid.findViewById(R.id.gridtextview);
            ImageView imageView = (ImageView) grid.findViewById(R.id.gridimage);
            textView.setText(featurename[position]);
            imageView.setImageResource(Imageid[position]);


            //Density wise text size fixing
            float density = mcontext.getResources().getDisplayMetrics().density;
            if (density >= 4.0) {
                //System.out.println("Ex");
                textView.setTextSize(15);
            }
            if (density >= 3.0) {
                //System.out.println("hp");
                textView.setTextSize(14);
            }
            if (density >= 2.0) {
                //System.out.println("xhp");
                textView.setTextSize(13);

            }
            if (density >= 1.5) {
                //System.out.println("hpin");
                textView.setTextSize(12);

            }
            if (density >= 1.0) {
               // System.out.println("mp");
                textView.setTextSize(11);

            }
//Fixing finished here

        } else {
            grid = (View) convertView;
        }
        return grid;
    }
}
在应用程序发布的许多手机上,我都会收到以下警告,并且在应用程序发布后手机会一直挂起几秒钟

W/CursorWindow: Window is full: requested allocation 72 bytes, free space 40 bytes, window size 2097152 bytes
W/CursorWindow: Window is full: requested allocation 72 bytes, free space 40 bytes, window size 2097152 bytes
W/CursorWindow: Window is full: requested allocation 72 bytes, free space 40 bytes, window size 2097152 bytes
请帮助解决这个问题。这严重影响了应用程序的性能。我通过传递所需的参数从mainactivity调用它

布局的xml文件如下所示:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/WhiteSmoke"
    android:orientation="vertical">

    <include
        layout="@layout/stdtoolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <ScrollView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@color/WhiteSmoke"
            android:scrollbars="none">

            <!--<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:tools="http://schemas.android.com/tools"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@color/WhiteSmoke">-->


            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="5dp"
                android:layout_marginTop="10dp"
                android:orientation="vertical">


                //1st row
                //height 330

                <GridView
                    android:id="@+id/grid"
                    android:layout_width="match_parent"
                    android:layout_height="420dp"
                    android:background="@color/White"
                    android:columnWidth="90dp"
                    android:gravity="center"
                    android:numColumns="3"
                    android:stretchMode="columnWidth"
                    android:verticalSpacing="10dp" />
                //2nd row

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="10dp"
                    android:background="@color/white"
                    android:orientation="vertical">

                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_horizontal"
                        android:gravity="center_horizontal"
                        android:text="Entertainment" />

                    <HorizontalScrollView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content">

                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:orientation="vertical">

                            <RelativeLayout
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content">

                                <TextView
                                    android:id="@+id/text1"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_marginStart="20dp"
                                    android:drawableTop="@mipmap/dailytemp"
                                    android:padding="10dp"
                                    android:text="Text1" />


                                <TextView
                                    android:id="@+id/text2"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_toEndOf="@+id/text1"
                                    android:drawableTop="@mipmap/youtemp"
                                    android:padding="10dp"
                                    android:text="text2" />

                            </RelativeLayout>

                        </LinearLayout>

                    </HorizontalScrollView>


                </LinearLayout>

                //3rd row

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="10dp"
                    android:background="@color/White"
                    android:orientation="vertical">

                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_horizontal"
                        android:padding="5dp"
                        android:text="Care And Share "
                        android:textAlignment="center" />

                    <HorizontalScrollView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:scrollbars="none">

                        <LinearLayout
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:orientation="horizontal">

                            <RelativeLayout
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_gravity="center_horizontal">


                                <TextView
                                    android:id="@+id/appupdate"
                                    android:layout_width="match_parent"
                                    android:layout_height="wrap_content"
                                    android:layout_alignBaseline="@+id/support"
                                    android:layout_gravity="center"
                                    android:drawableTop="@drawable/update"
                                    android:padding="15dp"
                                    android:text="Update"
                                    android:textAlignment="center" />

                                <TextView
                                    android:id="@+id/usermanual"
                                    android:layout_width="match_parent"
                                    android:layout_height="wrap_content"
                                    android:layout_alignBaseline="@+id/support"
                                    android:layout_gravity="center"
                                    android:layout_toEndOf="@+id/appupdate"
                                    android:drawableTop="@drawable/manual"
                                    android:padding="15dp"
                                    android:text="Manual"
                                    android:textAlignment="center" />

                                <TextView
                                    android:id="@+id/support"
                                    android:layout_width="match_parent"
                                    android:layout_height="wrap_content"
                                    android:layout_gravity="center"
                                    android:layout_marginTop="2dp"
                                    android:layout_toEndOf="@+id/usermanual"
                                    android:drawableTop="@drawable/help"
                                    android:padding="15dp"
                                    android:text="Support"
                                    android:textAlignment="center" />

                                <TextView
                                    android:id="@+id/googleplaylike"
                                    android:layout_width="match_parent"
                                    android:layout_height="wrap_content"
                                    android:layout_alignBaseline="@+id/support"
                                    android:layout_gravity="center_horizontal"
                                    android:layout_toEndOf="@+id/support"
                                    android:drawableTop="@drawable/likeus"
                                    android:padding="15dp"
                                    android:text="@string/rate_google_play"
                                    android:textAlignment="center" />


                                <TextView
                                    android:id="@+id/shareus"
                                    android:layout_width="match_parent"
                                    android:layout_height="wrap_content"
                                    android:layout_alignBaseline="@+id/support"
                                    android:layout_gravity="center"
                                    android:layout_toRightOf="@+id/googleplaylike"
                                    android:drawableTop="@drawable/share"
                                    android:padding="15dp"
                                    android:text="Share"
                                    android:textAlignment="center" />

                                <TextView
                                    android:id="@+id/hireus"
                                    android:layout_width="match_parent"
                                    android:layout_height="wrap_content"
                                    android:layout_alignBaseline="@+id/support"
                                    android:layout_gravity="center"
                                    android:layout_toEndOf="@+id/shareus"
                                    android:drawableTop="@drawable/hireus"
                                    android:padding="15dp"
                                    android:text="Hire Us"
                                    android:textAlignment="center" />

                            </RelativeLayout>
                        </LinearLayout>

                    </HorizontalScrollView>

                </LinearLayout>
                //3rd row

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="5dp"
                    android:background="@color/White"
                    android:orientation="horizontal"
                    android:weightSum="1">

                    <android.support.design.widget.TextInputLayout
                        android:layout_width="240dp"
                        android:layout_height="wrap_content">

                        <EditText
                            android:id="@+id/quickfbet"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="10dp"
                            android:layout_marginStart="10dp"
                            android:hint="@string/quick_feedback" />


                    </android.support.design.widget.TextInputLayout>

                    <TextView
                        android:id="@+id/feedbacksubmitbtn"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:layout_marginEnd="5dp"
                        android:layout_marginRight="5dp"
                        android:drawableTop="@mipmap/submit"
                        android:text="Submit"
                        android:textAlignment="center" />

                    <!--  <TextView
                          android:id="@+id/hireus"
                          android:layout_width="match_parent"
                          android:layout_height="wrap_content"
                          android:layout_gravity="center"
                          android:layout_weight="0.5"
                          android:drawableTop="@mipmap/hire_us"
                          android:text="Hire Us"
                          android:textAlignment="center" />-->

                </LinearLayout>
                //4th row

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="5dp"
                    android:background="@color/White"
                    android:orientation="horizontal">

                    <Button
                        android:id="@+id/ALS"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:text="ALS"
                        android:visibility="gone" />

                </LinearLayout>


                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:orientation="vertical">

                    <ImageView
                        android:id="@+id/banner"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:background="@drawable/picformat" />

                    <ImageView
                        android:id="@+id/gif1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:background="@drawable/picformat" />

                    <ImageView
                        android:id="@+id/click1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:background="@drawable/picformat" />

                    <ImageView
                        android:id="@+id/image1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:background="@drawable/picformat" />

                    <ImageView
                        android:id="@+id/gif2"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:background="@drawable/picformat" />

                    <ImageView
                        android:id="@+id/click2"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:background="@drawable/picformat" />

                    <ImageView
                        android:id="@+id/image2"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:background="@drawable/picformat" />

                    <ImageView
                        android:id="@+id/gif3"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:background="@drawable/picformat" />

                    <ImageView
                        android:id="@+id/click3"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:background="@drawable/picformat" />

                    <ImageView
                        android:id="@+id/image3"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:background="@drawable/picformat" />

                    <ImageView
                        android:id="@+id/gif4"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:background="@drawable/picformat" />

                    <ImageView
                        android:id="@+id/click4"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:background="@drawable/picformat" />


                </LinearLayout>

                           </LinearLayout>
        </ScrollView>
    </LinearLayout>
</LinearLayout>

//第一排
//高度330
//第二排
//第三排
//第三排
//第四排
当手机在启动时挂起时进行Logcat

E/ANR_LOG: Current msg <1>  = { when=-19s830ms what=122 target=android.app.ActivityThread$H obj=BindServiceData{token=android.os.BinderProxy@d2ea533 intent=Intent { cmp=jss.smartapp/.ConnectionBasedTask }} }
E/ANR_LOG: Current msg <2>  = { when=-19s830ms what=116 target=android.app.ActivityThread$H obj=android.os.BinderProxy@d2ea533 }
E/ANR_LOG: Current msg <3>  = { when=-19s824ms what=7 target=com.google.android.gms.common.internal.zzh arg2=-1 obj=com.google.android.gms.common.internal.zzo@4aedbd9 }
E/ANR_LOG: Current msg <4>  = { when=-19s231ms what=0 target=android.view.ViewRootImpl$ViewRootHandler callback=android.view.View$ScrollabilityCache }
E/ANR_LOG: Current msg <5>  = { when=-19s231ms what=0 target=android.view.ViewRootImpl$ViewRootHandler callback=android.view.View$ScrollabilityCache }
E/ANR_LOG: Current msg <6>  = { when=-15s804ms what=0 target=android.os.Handler callback=com.google.android.gms.internal.zzces }
E/ANR_LOG: Current msg <7>  = { when=+59m38s136ms what=0 target=android.os.Handler callback=com.google.android.gms.internal.zzces }
E/ANR\u LOG:Current msg={when=-19s830ms what=122 target=android.app.ActivityThread$H obj=BindServiceData{token=android.os。BinderProxy@d2ea533intent=intent{cmp=jss.smartapp/.ConnectionBasedTask}}
E/ANR_LOG:Current msg={when=-19s830ms what=116 target=android.app.ActivityThread$H obj=android.os。BinderProxy@d2ea533 }
E/ANR_LOG:Current msg={when=-19s824ms what=7 target=com.google.android.gms.common.internal.zzh arg2=-1 obj=com.google.android.gms.common.internal。zzo@4aedbd9 }
E/ANR_LOG:Current msg={when=-19s231ms what=0 target=android.view.ViewRootImpl$ViewRootHandler callback=android.view.view$ScrollabilityCache}
E/ANR_LOG:Current msg={when=-19s231ms what=0 target=android.view.ViewRootImpl$ViewRootHandler callback=android.view.view$ScrollabilityCache}
E/ANR_LOG:Current msg={when=-15s804ms what=0 target=android.os.Handler callback=com.google.android.gms.internal.zzces}
E/ANR_LOG:Current msg={when=+59m38s136ms what=0 target=android.os.Handler callback=com.google.android.gms.internal.zzces}

你能在此基础上提供帮助吗。

你能试试这个吗?因为我在RecyclerView中使用了GridLayoutManager来代替GridView

public class MainActivity extends AppCompatActivity {

    private RecyclerView mRecyclerView;
    private ArrayList<String> mSingleItemLists = new ArrayList<>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view_single_item);
        GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);
        mRecyclerView.setLayoutManager(gridLayoutManager);
    }

    private void setDummyData() {
        for (int i = 0; i <= 1000; i++)
            mSingleItemLists.add("item" + i);
        SingleListItemAdapter singleListItemAdapter = new SingleListItemAdapter(mSingleItemLists);
        mRecyclerView.setAdapter(singleListItemAdapter);
    }

    @Override
    protected void onResume() {
        super.onResume();
        setDummyData();
    }

    class SingleListItemAdapter extends RecyclerView.Adapter<SingleListItemAdapter.SingleListItemHolder> {
        private ArrayList<String> mSingleItemLists;

        private SingleListItemAdapter(ArrayList<String> singleItemLists) {
            mSingleItemLists = singleItemLists;
        }

        @Override
        public SingleListItemAdapter.SingleListItemHolder onCreateViewHolder(ViewGroup parent, int viewType) {
            View inflatedView = LayoutInflater.from(parent.getContext())
                    .inflate(R.layout.row_recyclerview, parent, false);
            return new SingleListItemHolder(inflatedView);
        }

        @Override
        public void onBindViewHolder(SingleListItemAdapter.SingleListItemHolder holder, int position) {
            holder.mItemDate.setText(mSingleItemLists.get(position));
            holder.mItemImageView.setImageResource(R.mipmap.ic_launcher_round);
        }

        @Override
        public int getItemCount() {
            return mSingleItemLists.size();
        }

        class SingleListItemHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
            private TextView mItemDate;
            private ImageView mItemImageView;

            SingleListItemHolder(View v) {
                super(v);
                mItemDate = (TextView) v.findViewById(R.id.textview_recycler_list_item);
                mItemImageView = (ImageView) v.findViewById(R.id.imageview_icon);
                v.setOnClickListener(this);
                this.setIsRecyclable(false);
            }

            @Override
            public void onClick(View v) {
                //do your stuff
                notifyDataSetChanged();
            }
        }
    }

}
public类MainActivity扩展了AppCompatActivity{
私人回收视图mRecyclerView;
私有ArrayList MsingleItemList=新ArrayList();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mRecyclerView=(RecyclerView)findViewById(R.id.recycler\u view\u single\u item);
GridLayoutManager GridLayoutManager=新的GridLayoutManager(这个,3);
mRecyclerView.setLayoutManager(gridLayoutManager);
}
私有void setDummyData(){

对于(int i=0;我尝试将其添加到清单文件android:largeHeap=“true”中)在tag.中,这已经是添加的图片,您的加载正在给加载造成问题。所有图片都在mipmap中。我应该怎么做才能修复它?加载后您可以发布布局视图吗?外观如何请共享r.layout.row\u recyclerview Xml我已经更新了代码,并将在出现内存问题的设备上进行测试后恢复。我已经创建了演示,所以做的不多对齐,你正在加载的图像以MB大小为单位,如果它们很大,则压缩图像我已检查,很抱歉,它仍然挂起并以相同的方式加载。仍然相同的窗口是完全错误。我刚刚在资源文件夹中检查,最大照片大小为60kB。
<android.support.v7.widget.RecyclerView
    android:id="@+id/recycler_view_single_item"
    android:layout_width="match_parent"
    android:layout_height="400dp"
    android:scrollbars="vertical" />
<?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="wrap_content"
    android:orientation="vertical">

    <TextView
        android:id="@+id/textview_recycler_list_item"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_vertical"
        android:padding="16dp"
        android:text="jeadfss"
        android:textColor="#000" />

    <ImageView
        android:id="@+id/imageview_icon"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

</LinearLayout>