для большего.

учил ошибку с моим приложением для Android. Я хочу использовать viewPager в качестве слайдера изображений для Android, для этого я получил свой AndroidImageAdapter.java, но когда дело доходит до метода instantiateItem, приложение прерывается, и я не знаю, как это исправить. Я уже посмотрел на провал и добавил

android:hardwareAccelerated="false"
android:largeHeap="true"

в моем манифесте, но это все еще остается. Вот полный код ошибки:

java.lang.OutOfMemoryError: Failed to allocate a 571401228 byte allocation with 16777216 free bytes and 495MB until OOM
  at dalvik.system.VMRuntime.newNonMovableArray(Native Method)
  at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
  at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:856)
  at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:675)
  at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:2228)
  at android.content.res,.Resources.loadDrawableForCookie(Resources.java:4211)
  at android.content.res.Resources.loadDrawable(Resources.java:4085)
  at android.content.res.Resources.getDrawable(Resources.java:2005)
  at android.content.res.Resources.getDrawable(Resources.java:1987)
  at android.content.Context.getDrawable(Context.java:464)
  at android.widget.ImageView.resolveUri(ImageView.java:827)
  at android.widget.ImageView.setImageResource(ImageView.java:434)
  at bubusapp.anni.privateapplication.com.schnurr.asam.robin.bubusapp.AndroidImageAdapter.instantiateItem(AndroidImageAdapter.java:50)
  at android.support.v4.view.ViewPager.addNewItem(ViewPager.java:1002)
  at android.support.v4.view.ViewPager.populate(ViewPager.java:1150)
  at android.support.v4.view.ViewPager.populate(ViewPager.java:1084)
  at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1614)
  at android.view.View.measure(View.java:20151)
  at android.support.constraint.ConstraintLayout.internalMeasureChildren(ConstraintLayout.java:934)
  at android.support.constraint.ConstraintLayout.onMeasure(ConstraintLayout.java:973)
  at android.view.View.measure(View.java:20151)
  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6328)
  at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
  at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:139)
  at android.view.View.measure(View.java:20151)
  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6328)
  at android.support.v7.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:400)
  at android.view.View.measure(View.java:20151)
  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6328)
  at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
  at android.view.View.measure(View.java:20151)
  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6328)
  at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
  at android.widget.LinearLayout.measureVertical(LinearLayout.java:747)
  at android.widget.LinearLayout.onMeasure(LinearLayout.java:629)
  at android.view.View.measure(View.java:20151)
  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6328)
  at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
  at com.android.internal.policy.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:3158)
  at android.view.View.measure(View.java:20151)
  at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2594)
  at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1549)
  at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1841)
  at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1437)
  at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7397)
  at android.view.Choreographer$CallbackRecord.run(Choreographer.java:920)
  at android.view.Choreographer.doCallbacks(Choreographer.java:695)
  at android.view.Choreographer.doFrame(Choreographer.java:631)
  at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:906)
  at android.os.Handler.handleCallback(Handler.java:739)
  at android.os.Handler.dispatchMessage(Handler.java:95)
  at android.os.Looper.loop(Looper.java:158)
  at android.app.ActivityThread.main(ActivityThread.java:7224)
  at java.lang.reflect.Method.invoke(Native Method)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
  at com.android.internal.os.ZygoteInit.main(Zy

И мой код Java:

import android.content.Context;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;

public class AndroidImageAdapter extends PagerAdapter{


private Context mContext;
private int[] images;

AndroidImageAdapter(Context context, int remainingDays) {
    this.mContext = context;

    images = loadImages(remainingDays);
}



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

@Override
public boolean isViewFromObject(View v, Object obj) {
    return v == ((ImageView) obj);
}

@Override
public Object instantiateItem(ViewGroup container, int i) {
    ImageView mImageView = new ImageView(mContext);
    mImageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
    try
    {
        mImageView.setImageResource(images[i]);//here comes the exception - outofmemory
    }
    catch(Exception ex)
    {
        Log.i("imageResException", ex.toString());
    }

    ((ViewPager) container).addView(mImageView, 0);
    return mImageView;
}

@Override
public void destroyItem(ViewGroup container, int i, Object obj) {
    ((ViewPager) container).removeView((ImageView) obj);

}


private int[] loadImages(int remainingDays)
{
    int[] allImages = new int[] {R.drawable.pos1_1, R.drawable.pos1_2, R.drawable.pos1_3, R.drawable.pos1_4, R.drawable.pos1_5, R.drawable.pos1_6, R.drawable.pos1_7, R.drawable.pos1_8, R.drawable.pos1_9, R.drawable.pos1_10, R.drawable.pos1_11,
            R.drawable.pos1_12, R.drawable.pos1_13, R.drawable.pos1_14, R.drawable.pos1_15, R.drawable.pos1_16, R.drawable.pos1_17, R.drawable.pos1_18, R.drawable.pos1_19,R.drawable.pos1_20, R.drawable.pos1_21, R.drawable.pos1_22, R.drawable.pos1_23, R.drawable.pos1_24, R.drawable.pos1_25, R.drawable.pos1_26, R.drawable.pos1_27,
            R.drawable.pos1_28,
            R.drawable.pos1_29,
            R.drawable.pos1_30,
            R.drawable.pos1_31,
            R.drawable.pos1_32,
            R.drawable.pos1_33,
            R.drawable.pos1_34,
            R.drawable.pos1_35,
            R.drawable.pos1_36,
            R.drawable.pos1_37,
            R.drawable.pos1_38,
            R.drawable.pos1_39,
            R.drawable.pos1_40,
            R.drawable.pos1_41,
            R.drawable.pos1_42,
            R.drawable.pos1_43,
            R.drawable.pos1_44,
            R.drawable.pos1_45,
            R.drawable.pos1_46,
            R.drawable.pos1_47,
            R.drawable.pos1_48,
            R.drawable.pos1_49,
            R.drawable.pos1_50,
            R.drawable.pos1_51,
            R.drawable.pos1_52,
            R.drawable.pos1_53,
            R.drawable.pos1_54,
            R.drawable.pos1_55,
            R.drawable.pos1_56,
            R.drawable.pos1_57,
            R.drawable.pos1_58,
            R.drawable.pos1_59,
            R.drawable.pos1_60,
            R.drawable.pos1_61,
            R.drawable.pos1_62,
            R.drawable.pos1_63,
            R.drawable.pos1_64,
            R.drawable.pos1_65,
            R.drawable.pos1_66,
            R.drawable.pos1_67,
            R.drawable.pos1_68,
            R.drawable.pos1_69,
            R.drawable.pos1_70,
            R.drawable.pos1_71,
            R.drawable.pos1_72,
            R.drawable.pos1_73,
            R.drawable.pos1_74,
            R.drawable.pos1_75,
            R.drawable.pos1_76,
            R.drawable.pos1_77,
            R.drawable.pos1_78,
            R.drawable.pos1_79,
            R.drawable.pos1_80,
            R.drawable.pos1_81,
            R.drawable.pos1_82,
            R.drawable.pos1_83,
            R.drawable.pos1_84,
            R.drawable.pos1_85,
            R.drawable.pos1_86,
            R.drawable.pos1_87,
            R.drawable.pos1_88,
            R.drawable.pos1_89,
            R.drawable.pos1_90,
            R.drawable.pos1_91,
            R.drawable.pos1_92,
            R.drawable.pos1_93,
            R.drawable.pos1_94,
            R.drawable.pos1_95,
            R.drawable.pos1_96,
            R.drawable.pos1_97,
            R.drawable.pos1_98,
            R.drawable.pos1_99,
            R.drawable.pos1_100,
            R.drawable.pos1_101,
            R.drawable.pos1_102,
            R.drawable.pos1_103,
            R.drawable.pos1_104,
            R.drawable.pos1_105,
            R.drawable.pos1_106,
            R.drawable.pos1_107,
            R.drawable.pos1_108,
            R.drawable.pos1_109,
            R.drawable.pos1_110,
            R.drawable.pos1_111,
            R.drawable.pos1_112,
            R.drawable.pos1_113,
            R.drawable.pos1_114,
            R.drawable.pos1_115,
            R.drawable.pos1_116,
            R.drawable.pos1_117,
            R.drawable.pos1_118,
            R.drawable.pos1_119,
            R.drawable.pos1_120,
            R.drawable.pos1_121,
            R.drawable.pos1_122,
            R.drawable.pos1_123,
            R.drawable.pos1_124,
            R.drawable.pos1_125,
            R.drawable.pos1_126
    };

    int[] actualImages = new int[127 - remainingDays];
    try
    {
        System.arraycopy(allImages, 0, actualImages, 0, 127 - remainingDays);
    }
    catch(Exception ex)
    {
        Log.i("ArrayCopyException: ", ex.getMessage() + "" );
    }
    return actualImages;

}
}

Ответы на вопрос(1)

Ваш ответ на вопрос