error below
09-13 16:21:27.011 3048-3048/com.mobilprogramlar.viewpager_1 E/AndroidRuntime: FATAL EXCEPTION: main Process: com.mobilprogramlar.viewpager_1, PID: 3048 java.lang.OutOfMemoryError: Failed to allocate a 35389452 byte allocation with 16777216 free bytes and 27MB until OOM at dalvik.system.VMRuntime.newNonMovableArray(Native Method) at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method) at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:609) at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:444) at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:1080) at android.content.res.Resources.loadDrawableForCookie(Resources.java:2635) at android.content.res.Resources.loadDrawable(Resources.java:2540) at android.content.res.Resources.getDrawable(Resources.java:806) at android.content.Context.getDrawable(Context.java:458) at androidx.core.content.ContextCompat.getDrawable(ContextCompat.java:463) at androidx.appcompat.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:203) at androidx.appcompat.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:191) at androidx.appcompat.content.res.AppCompatResources.getDrawable(AppCompatResources.java:102) at androidx.appcompat.widget.AppCompatImageHelper.setImageResource(AppCompatImageHelper.java:86) at androidx.appcompat.widget.AppCompatImageView.setImageResource(AppCompatImageView.java:94) at com.mobilprogramlar.viewpager_1.SliderAdapter.instantiateItem(SliderAdapter.java:51) at androidx.viewpager.widget.ViewPager.addNewItem(ViewPager.java:1010) at androidx.viewpager.widget.ViewPager.populate(ViewPager.java:1224) at androidx.viewpager.widget.ViewPager.populate(ViewPager.java:1092) at androidx.viewpager.widget.ViewPager$3.run(ViewPager.java:273) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858) at android.view.Choreographer.doCallbacks(Choreographer.java:670) at android.view.Choreographer.doFrame(Choreographer.java:603) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 09-13 16:26:27.113 3048-3048/com.mobilprogramlar.viewpager_1 I/Process: Sending signal. PID: 3048 SIG: 9
package com.mobilprogramlar.viewpager_1;
import android.content.Context;
//import android.support.v4.view.PagerAdapter;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Toast;
import androidx.viewpager.widget.PagerAdapter;
public class SliderAdapter extends PagerAdapter {
Context context;
int[] img = {R.drawable.foraritdizi1,R.drawable.forbaginti,R.drawable.forbasit1,
R.drawable.forbinom1,R.drawable.forbolme1,R.drawable.ic_launcher_foreground};
public SliderAdapter(Context context) {
this.context = context;
}
@Override
public int getCount() {
return img.length;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
ImageView imageView;
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View itemView = inflater.inflate(R.layout.slider_item,container,false);
imageView = itemView.findViewById(R.id.slider_image_view);
Toast.makeText(context,"position:"+position,Toast.LENGTH_LONG).show();
**imageView.setImageResource(img[position]);**
//imageView.setImageResource(img.get(position).getImage_drawable());
//imageView.setImageResource(img[position]);
Log.d("tag","Image Position -> " + img[position]);
container.addView(itemView);
return itemView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((LinearLayout) object);
}
}
import androidx.appcompat.app.AppCompatActivity;
import androidx.viewpager.widget.ViewPager;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager_slider);
viewPager.setAdapter(new SliderAdapter(MainActivity.this));
}
}
<?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">
<!--android.support.v4.view.ViewPager-->
<androidx.viewpager.widget.ViewPager
android:id="@+id/view_pager_slider"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
The first picture comes out. When I slide the screen, the 2nd picture comes out and then crashes.
The imageView.setImageResource(img[position]); line shows an error.