java .lang.OutOfMemoryError: Issue - PullRequest
0 голосов
/ 05 мая 2020

У меня телефон samsung с МОДЕЛЬ SM-A750F, моя ANDROID ВЕРСИЯ - 9, и у меня есть этот журнал

java.lang.OutOfMemoryError: Failed to allocate a ‪276824056‬ byte allocation with ‪25165824‬ free bytes and 117MB until OOM, max allowed footprint ‪170196328‬, growth limit ‪268435456‬
at dalvik.system.VMRuntime.newUnpaddedArray(Native Method)
at com.android.internal.util.ArrayUtils.newUnpaddedCharArray(ArrayUtils.java:51)
at android.text.SpannableStringBuilder.resizeFor(SpannableStringBuilder.java:145)
at android.text.SpannableStringBuilder.change(SpannableStringBuilder.java:378)
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:548)
at android.text.SpannableStringBuilder.append(SpannableStringBuilder.java:269)
at android.widget.HeaderViewListAdapter.getView(HeaderViewListAdapter.java:230)
at android.widget.AbsListView.obtainView(AbsListView.java:3219)
at android.widget.ListView.makeAndAddView(ListView.java:2219)
at android.widget.ListView.fillUp(ListView.java:861)
at android.widget.ListView.fillGap(ListView.java:800)
at android.widget.AbsListView.trackMotionScroll(AbsListView.java:8221)
at android.widget.ListView.trackMotionScroll(ListView.java:2138)
at android.widget.AbsListView$FlingRunnable.run(AbsListView.java:7644)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:949)
at android.view.Choreographer.doCallbacks(Choreographer.java:761)
at android.view.Choreographer.doFrame(Choreographer.java:693)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:935)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7078)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964

Мой код

 public static CharSequence c(android.view.ViewGroup r6, TextEmojiLabel textEmojiLabel, java.lang.Object r8, StringBuilder sb) {
     if (!getBoolTrue(textEmojiLabel.getContext(), "show_mod_groups_check")) {
         return sb.toString();
     }
     if (f(r6, r8, z)) {
         SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder();
         SpannableString spannableString = new SpannableString(getString(textEmojiLabel.getContext(), group_mod()));
         if (getBool(textEmojiLabel.getContext(), "show_mod_in_groups_color_picker")) {
             spannableString.setSpan(new ForegroundColorSpan(getIntfromKey(textEmojiLabel.getContext(), "show_mod_in_groups_color_picker")), 0, spannableString.length(), 0);
         } else if (getBool(textEmojiLabel.getContext(), "participant_name_color_picker")) {
             spannableString.setSpan(new ForegroundColorSpan(getIntfromKey(textEmojiLabel.getContext(), "participant_name_color_picker")), 0, spannableString.length(), 0);
         }
         if (getLanguage()) {
             String str = r8.A0N;
             if (!TextUtils.isEmpty(str)) {
                 spannableStringBuilder.append(str).append("").append(" - ").append(spannableString);
             }
         } else {
             SpannableStringBuilder append = spannableStringBuilder.append("");
             String str2 = r8.A0N;
             if (!TextUtils.isEmpty(str2)) {
                 append.append(str2).append(" - ").append(spannableString);
             }
         }
         return spannableStringBuilder;
     }
     return sb.toString();
 }

Я думаю, что это ошибка выдается виртуальной машиной Java (JVM), когда объект не может быть выделен из-за нехватки места в памяти, а также сборщик мусора не может освободить некоторое пространство.
Я понятия не имею, почему у него не хватает памяти. Как исправить?

...