OutOfMemoryError android m

OutOfMemoryError android m,android,Android,好吧,我是Android新手,有个小问题,我找不到答案。我知道这是一个常见错误,但我发现的所有其他线程对我都没有帮助,所以我必须创建自己的线程 我只是使用一个listview,并有一个适配器。当在listview项目中上下滚动时,甚至没有单击这些项目,错误会突然发生 以下是一些日志: D/OpenGLRenderer:启用调试模式0 D/dalvikvm:GC_FOR_ALLOC freed 173K,36%free 17008K/26172K,暂停15秒,总计15秒 I/dalvikvm堆:对

好吧,我是Android新手,有个小问题,我找不到答案。我知道这是一个常见错误,但我发现的所有其他线程对我都没有帮助,所以我必须创建自己的线程

我只是使用一个listview,并有一个适配器。当在listview项目中上下滚动时,甚至没有单击这些项目,错误会突然发生

以下是一些日志:

D/OpenGLRenderer:启用调试模式0

D/dalvikvm:GC_FOR_ALLOC freed 173K,36%free 17008K/26172K,暂停15秒,总计15秒

I/dalvikvm堆:对于10760416字节分配,将堆(frag情况)增长到31.092MB

D/AbsListView:调用unregisterListener()

D/AbsListView:调用unregisterListener()

D/AbsListView:调用unregisterListener()

I/dalvikvm堆:对于33177616字节分配,将堆(frag情况)增长到61.836MB

D/dalvikvm:GC_FOR_ALLOC freed 52K,14%free 59979K/69088K,暂停14ms,总计14ms

I/dalvikvm堆:对于18662416字节分配,将堆(frag情况)增长到79.593MB

D/dalvikvm:GC_FOR_ALLOC freed 7K,11%free 78200K/87316K,暂停15秒,总计15秒

I/dalvikvm堆:对于33177616字节分配,将堆(frag情况)增长到111.230MB

D/dalvikvm:GC_FOR_ALLOC freed 10515K,15%free 101867K/119720K,暂停17ms,总计17ms

I/dalvikvm堆:强制收集用于16104976字节分配的软引用

D/dalvikvm:GC_前释放15K,15%释放101851K/119720K,暂停28ms,总计28ms

E/dalvikvm堆:16104976字节分配的内存不足

关闭虚拟机

W/dalvikvm:threadid=1:线程以未捕获异常退出(组=0x418ceda0)

E/AndroidRuntime:致命异常:主 流程:com.example.hesham.assignment2,PID:24883 java.lang.OutOfMemoryError 在android.graphics.BitmapFactory.NativeDecodeset(本机方法) 位于android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:677) 位于android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:507) 位于android.graphics.drawable.drawable.createFromResourceStream(drawable.java:872) 位于android.content.res.Resources.loadDrawable(Resources.java:3024) 位于android.content.res.Resources.getDrawable(Resources.java:1586) 位于android.view.view.setBackgroundResource(view.java:16144) 位于com.example.hesham.assignment2.myadapter.getView(myadapter.java:47) 在android.widget.AbsListView.obtainView(AbsListView.java:2694) 位于android.widget.ListView.makeAndAddView(ListView.java:1811) 在android.widget.ListView.fillDown(ListView.java:697)中 在android.widget.ListView.fillGap(ListView.java:661) 在android.widget.AbsListView.trackMotionScroll(AbsListView.java:6686)上 在android.widget.AbsListView.ScrollIfRequired(AbsListView.java:3946)上 在android.widget.AbsListView.onTouchMove(AbsListView.java:4789)上 在android.widget.AbsListView.onTouchEvent(AbsListView.java:4617)上 位于android.view.view.dispatchTouchEvent(view.java:8107) 在android.view.ViewGroup.DispatchTransformedToucheEvent(ViewGroup.java:2405)中 位于android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2129) 在android.view.ViewGroup.DispatchTransformedToucheEvent(ViewGroup.java:2411)中 位于android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2144) 在android.view.ViewGroup.DispatchTransformedToucheEvent(ViewGroup.java:2411)中 位于android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2144) 在android.view.ViewGroup.DispatchTransformedToucheEvent(ViewGroup.java:2411)中 位于android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2144) 在android.view.ViewGroup.DispatchTransformedToucheEvent(ViewGroup.java:2411)中 位于android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2144) 在android.view.ViewGroup.DispatchTransformedToucheEvent(ViewGroup.java:2411)中 位于android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2144) 在com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2280)上 位于com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1615) 位于android.app.Activity.dispatchTouchEvent(Activity.java:2544) 位于android.support.v7.app.ActionBarActivityDelegateICS$WindowCallbackWrapper.dispatchTouchEvent(ActionBarActivityDelegateICS.java:268) 位于com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2228) 位于android.view.view.dispatchPointerEvent(view.java:8315) 位于android.view.ViewRootImpl$viewPostimeiInputStage.processPointerEvent(ViewRootImpl.java:4598) 位于android.view.ViewRootImpl$viewPostimeiInputStage.onProcess(ViewRootImpl.java:4466) 在android.view.ViewRootImpl$InputStage.deliver上(ViewRootImpl.java:4024) 在android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4078) 在android.view.ViewRootImpl$InputStage.forward中(ViewRootImpl.java:4047) 在android.view.ViewRootImpl$AsyncInputStage.forward上(ViewRootImpl.java:4158) 在android.view.ViewRootImpl$InputStage.apply上(ViewRootImpl.java:4055) 在android.view.ViewRootImpl$AsyncInputStage.apply上(ViewRootImpl.java:4215) 在android.view.ViewRootImpl$InputStage.deliver上(ViewRootImpl.java:4024) 在android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4078) 在android.view.ViewRootImpl$InputStage.forward中(ViewRootImpl.java:4047) 在android.view.ViewRootImpl$InputStage.apply上(ViewRootImpl.java:4055) 在android.view.ViewRootImpl$InputStage.deliver上(ViewRootImpl.java:4024) 在android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6416)上 在android.view.ViewRootImpl.doProcessInputEvents上(ViewRootImpl.java:6320) 在android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6291)中 在android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6256)中 在android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:649)中

public class myAdaptor extends BaseAdapter{
Data items[];
Context context;
TextView y;
ImageView y2;
myAdaptor(Data items[], Context context)
{
    this.items=items;
    this.context=context;
}

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

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

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

@Override
public View getView(int i, View view, ViewGroup viewGroup) {
    View x=view;
    if(x==null)
    {
        x=View.inflate(context,R.layout.item,null);
    }
    y=(TextView) x.findViewById(R.id.textView);
    y2=(ImageView) x.findViewById(R.id.imageView);
    y.setText(items[i].str1);
    y2.setBackgroundResource(items[i].img);

    return x;
}}