Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

正文如果有大量 ---- 做分隔的时候,经常出现闪退报错 #4626

Open
4 tasks done
zousizhe opened this issue Feb 6, 2025 · 8 comments
Open
4 tasks done
Labels
BUG B.软件未按预期的功能运行

Comments

@zousizhe
Copy link

zousizhe commented Feb 6, 2025

确认 / Assignments

  • 搜索现有issues,不存在相似或相关的issue / No similar or related issues
  • 最新测试版依然存在此问题 / Latest beta app does not work
  • 此问题和Xposed、Lsposed、Magisk、手机主题、浏览器插件、无障碍服务等无关 / Make sure your machine is not touched by hook frameworks, plugins, accessibility etc

问题描述 / Describe Bugs

如果正文出现大量很长的 --- 符号做分隔时,就会报错,不敢确定只有这个符号才出问题,旧版pro没这问题

复现步骤 / How to reproduce

遇到文章有大量很长的 ---- 做分隔时,翻页就容易报错,如果首章正文有这个,在后台缓存完就不报错,如果不缓存直接进入后再缓存,一加载完就报错,下次再进就正常,但是下一页有这个,翻页也报错,使用重新分段就不报错

确认 / Assignment

  • 已经提交复现所需要的附加资料 / Submit additions related with bugs

其他信息 / Additions

logs.zip

日志提交 / Relevant log output

SDK_INT=35
WebViewUserAgent=Mozilla/5.0 (Linux; Android 15; 22127RK46C Build/AQ3A.240912.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/131.0.6778.260 Mobile Safari/537.36
MODEL=22127RK46C
RELEASE=15
packageName=io.legado.app.release
MANUFACTURER=Xiaomi
versionName=3.25.020315
versionCode=15978
BRAND=Redmi
java.lang.IndexOutOfBoundsException
at android.graphics.BaseCanvas.drawText(BaseCanvas.java:765)
at android.graphics.Canvas.drawText(Canvas.java:2234)
at io.legado.app.ui.book.read.page.entities.TextLine.fastDrawTextLine(SourceFile:112)
at io.legado.app.ui.book.read.page.entities.TextLine.drawTextLine(SourceFile:7)
at io.legado.app.ui.book.read.page.entities.TextLine.draw(SourceFile:45)
at io.legado.app.ui.book.read.page.entities.TextPage.drawPage(SourceFile:36)
at io.legado.app.ui.book.read.page.entities.TextPage.render(SourceFile:52)
at io.legado.app.ui.book.read.page.entities.TextPage.draw(SourceFile:16)
at io.legado.app.ui.book.read.page.ContentTextView.onDraw(SourceFile:47)
at android.view.View.draw(View.java:26045)
at android.view.View.updateDisplayListIfDirty(View.java:24850)
at android.view.View.draw(View.java:25751)
at android.view.ViewGroup.drawChild(ViewGroup.java:4608)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4357)
at androidx.constraintlayout.widget.ConstraintLayout.dispatchDraw(SourceFile:31)
at android.view.View.draw(View.java:26050)
at android.view.View.updateDisplayListIfDirty(View.java:24850)
at android.view.View.draw(View.java:25751)
at android.view.ViewGroup.drawChild(ViewGroup.java:4608)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4357)
at android.view.View.updateDisplayListIfDirty(View.java:24837)
at android.view.View.draw(View.java:25751)
at android.view.ViewGroup.drawChild(ViewGroup.java:4608)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4357)
at io.legado.app.ui.book.read.page.ReadView.dispatchDraw(SourceFile:6)
at android.view.View.draw(View.java:26050)
at android.view.View.updateDisplayListIfDirty(View.java:24850)
at android.view.View.draw(View.java:25751)
at android.view.ViewGroup.drawChild(ViewGroup.java:4608)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4357)
at android.view.View.updateDisplayListIfDirty(View.java:24837)
at android.view.View.draw(View.java:25751)
at android.view.ViewGroup.drawChild(ViewGroup.java:4608)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4357)
at android.view.View.updateDisplayListIfDirty(View.java:24837)
at android.view.View.draw(View.java:25751)
at android.view.ViewGroup.drawChild(ViewGroup.java:4608)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4357)
at android.view.View.updateDisplayListIfDirty(View.java:24837)
at android.view.View.draw(View.java:25751)
at android.view.ViewGroup.drawChild(ViewGroup.java:4608)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4357)
at android.view.View.updateDisplayListIfDirty(View.java:24837)
at android.view.View.draw(View.java:25751)
at android.view.ViewGroup.drawChild(ViewGroup.java:4608)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4357)
at android.view.View.updateDisplayListIfDirty(View.java:24837)
at android.view.View.draw(View.java:25751)
at android.view.ViewGroup.drawChild(ViewGroup.java:4608)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4357)
at android.view.View.draw(View.java:26050)
at com.android.internal.policy.DecorView.draw(DecorView.java:860)
at android.view.View.updateDisplayListIfDirty(View.java:24850)
at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:732)
at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:741)
at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:851)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:6502)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:6122)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:5032)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:3557)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:11581)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1747)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1756)
at android.view.Choreographer.doCallbacks(Choreographer.java:1270)
at android.view.Choreographer.doFrame(Choreographer.java:1173)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1710)
at android.os.Handler.handleCallback(Handler.java:959)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loopOnce(Looper.java:249)
at android.os.Looper.loop(Looper.java:337)
at android.app.ActivityThread.main(ActivityThread.java:9597)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:615)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)

阅读版本 / Legado version

3.25.020617

Android版本 / Android version

Android 15

机型 / Model

Redmi K60 Pro

@zousizhe zousizhe added the BUG B.软件未按预期的功能运行 label Feb 6, 2025
@821938089
Copy link
Collaborator

章节有图片吗?
有没有用自定义字体?

@zousizhe
Copy link
Author

zousizhe commented Feb 7, 2025

章节有图片吗? 有没有用自定义字体?

没有,转成epub与txt也这样,换成默认字体依然报错。调一下排版就不报错,发现与pro的不同是这些符号会自动生成一大片空白,默认字体也会,但是实际上文本里并没有空行,pro版没这问题

Image

@821938089
Copy link
Collaborator

打开自定义中文排版会好吗?

@zousizhe
Copy link
Author

zousizhe commented Feb 7, 2025

章节有图片吗? 有没有用自定义字体?

似乎是自定义中文分行导致的

@zousizhe
Copy link
Author

zousizhe commented Feb 7, 2025

章节有图片吗? 有没有用自定义字体?

打开自定义中文排版会好吗?

关掉才好,打开就有问题了

@821938089
Copy link
Collaborator

可以复现了,你这个分隔的字是.不是-

@zousizhe
Copy link
Author

zousizhe commented Feb 7, 2025

可以复现了,你这个分隔的字是.不是-

我是复制原正文字符的,大概有些字体显示符号不太一样吧

@821938089
Copy link
Collaborator

修复了,试试最新测试版

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BUG B.软件未按预期的功能运行
Projects
None yet
Development

No branches or pull requests

2 participants