Привет, я делал проект из школы, и когда я запускал приложение, у меня есть ошибка трассировки стека, показанная ниже.Ошибка памяти
03-06 14:58:02.520 11265-11265/com.example.ray.cdmsv2 E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.OutOfMemoryError
at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:596)
at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:444)
at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:832)
at android.content.res.Resources.loadDrawable(Resources.java:2988)
at android.content.res.Resources.getDrawable(Resources.java:1558)
at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:173)
at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:937)
at android.graphics.drawable.Drawable.createFromXml(Drawable.java:873)
at android.content.res.Resources.loadDrawable(Resources.java:2970)
at android.content.res.Resources.getDrawable(Resources.java:1558)
at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:323)
at android.support.v7.widget.TintManager.getDrawable(TintManager.java:147)
at android.support.design.widget.TabLayout$Tab.setIcon(TabLayout.java:1080)
at com.example.ray.cdmsv2.Activities.CreateTaskActivity.onCreate(CreateTaskActivity.java:102)
at android.app.Activity.performCreate(Activity.java:5372)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1104)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2270)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2362)
at android.app.ActivityThread.access$700(ActivityThread.java:168)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1329)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5493)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
Я искал решение, но я все еще не могу решить проблему. Мое приложение может работать плавно на Samsung Galaxy A3. Однако, когда я пытался запустить мое приложение на S4 и Note 4, я получаю ошибку из памяти. Я понял, что когда я реализую какой-то селектор в моем drawable, который я вызываю в своих XML-файлах, это вызовет ошибку, однако, когда я удалю его, ошибка больше не возникает. Есть ли объяснения по этому вопросу? Большое спасибо за то, что вы помогли мне.
Возможно, вы не используете память эффективно. Различные устройства имеют разные спецификации, вы должны, вероятно, попытаться масштабировать, сколько памяти вы используете в отношении того, насколько активно вы располагаете. – JoxTraex
Сжимайте размер изображения, которое вы используете. Так просто!!! Или предпочитайте использовать векторы. Проверьте материальную базу данных – Sibidharan
Проверьте свои размеры изображения и постарайтесь как можно меньше уменьшить размер – Pooya