У меня телефон 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), когда объект не может быть выделен из-за нехватки места в памяти, а также сборщик мусора не может освободить некоторое пространство.
Я понятия не имею, почему у него не хватает памяти. Как исправить?