legado
legado copied to clipboard
[BUG] 加载一本16MB+的本地书导致软件内存溢出软件崩溃 OOM
浏览器版本(web端反馈,先勾选浏览器,然后填版本号)
- [ ] Chrome/Edge/Firefox PC
- [x] Chrome/Edge/Firefox/WebView Android
- [ ] 其他浏览器,请补充
机型(如Redmi K30 Pro)
MI MIX4
安卓版本(如Android 7.1.1)
Android 10
阅读Legdao版本(我的-关于-版本,如3.20.112220)
3.22.062320
网络环境(移动,联通,电信,移动宽带,联通宽带,电信宽带,等等..)
电信
问题描述(简要描述发生的问题)
内存溢出,软件崩溃
相关截图
复现步骤(详细描述导致问题产生的操作步骤,如果能稳定复现)
加载一本16MB+的本地书,点开,然后如上图
使用书源(填写URL或者JSON)
点击展开
http://www.freexiaoshuo.com/a/dushiyule/2018/0414/275.html
日志提交(我的-关于-崩溃日志,书架-右上角-日志)
点击展开
MANUFACTURER=Xiaomi
versionName=3.22.062320
versionCode=11733
BRAND=Xiaomi
java.lang.OutOfMemoryError: Failed to allocate a 17332208 byte allocation with 5311504 free bytes and 5187KB until OOM, target footprint 268435456, growth limit 268435456
at java.util.Arrays.copyOf(Arrays.java:3257)
at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:124)
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:448)
at java.lang.StringBuffer.append(StringBuffer.java:270)
at java.io.StringWriter.write(StringWriter.java:112)
at java.io.PrintWriter.write(PrintWriter.java:456)
at java.io.PrintWriter.write(PrintWriter.java:473)
at java.io.PrintWriter.print(PrintWriter.java:603)
at java.io.PrintWriter.println(PrintWriter.java:756)
at java.lang.Throwable$WrappedPrintWriter.println(Throwable.java:778)
at java.lang.Throwable.printStackTrace(Throwable.java:667)
at java.lang.Throwable.printStackTrace(Throwable.java:735)
at io.legado.app.help.CrashHandler$Companion.saveCrashInfo2File(CrashHandler.kt:91)
at io.legado.app.utils.RegexExtensionsKt$replace$lambda-2$$inlined$postDelayed$default$1.run(Handler.kt:75)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:210)
at android.os.Looper.loop(Looper.java:299)
at android.app.ActivityThread.main(ActivityThread.java:8105)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:556)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1045)
收到
由于长期没有状态更新,该问题将于5天后自动关闭。如有需要可重新打开。
?这个问题解决了吗,我试了试还是导致内存溢出软件重新加载
还没,等我有空的
fixed https://github.com/gedoor/legado/pull/2107