flush引发的anr问题
I maintainer di solito rispondono entro 1 giorno
@CodeJhF ci sta già lavorando.
Dal 14/7/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
[
【版本信息】[
](https://github.com/Tencent/libpag/issues)
4.2.100
【平台信息】
Android 原生
【预期的表现】
加载pag后,能正常显示第一帧画面
【实际的情况】
引发了线上个别用户ANR
0 ANR_EXCEPTION: 1 org.libpag.PAGPlayer.flushAndFenceSync(Native Method) 2 org.libpag.PAGPlayer.flush(Unknown Source:1) 3 org.libpag.PAGView.flush(SourceFile:4) 4 cn.kuwo.ui.nowplay.widget.KwPAGView.flush(SourceFile:4)
测试发现,flush回调回触发2次
【Demo及附件】
线上问题引发代码:
pagFile.replaceImage(replaceIndex, PAGImage.FromBitmap(squareBitmap)) mPagView.composition = pagFile mPagView.progress = 0.1 mPagView.setRepeatCount(0) mPagView.setScaleMode(PAGScaleMode.Zoom) mPagView.flush()
后以为是调用progress和flush造成两次flush的冲突anr,改代码如下:
if(rid == mLastRid){ LogMgr.d("setCoverBitmap","SquareCoverShadowDelegate setCoverBitmap rid:$rid isSameRid") return } mLastRid = rid pagFile?.replaceImage(replaceIndex, PAGImage.FromBitmap(squareBitmap)) mPagView.composition = pagFile LogMgr.d("setCoverBitmap","SquareCoverShadowDelegate setCoverBitmap rid:$rid success ${mPagView}")
测试发现,flush和animtionupdate回调,还是会触发2次。
](https://github.com/Tencent/libpag/issues)- Lingua principale
- HTML
- Stelle
- 5.8k
- Fork
- 533
- Merge medio
- 3g 1h
- PR unite (30g)
- 28
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Tencent/libpag
-
【Bug】HarmonyOS @tencent/libpag 4.4.25:远程 PAG URL 磁盘缓存不一致时,JPAGDiskCache.ReadFile 内 std::stoull 抛未捕获 C++ 异常导致 SIGABRTForse già presa @leiyue123 l’ha presa 3 giorni fa. Aperta
Tencent/libpag#3827 · 2 commenti · 2 assegnatari ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 18/100
I maintainer di solito rispondono entro 1 giorno
-
[iOS][4.5.94] PAGImageView setHidden: 经 Task::wait 重入 flush 导致主线程卡死(Fatal App Hang)Forse già presa @leiyue123 l’ha presa 18 giorni fa. Aperta
Tencent/libpag#3790 · 2 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
在ae2024里卡顿,在预览里闪烁Forse già presa @CodeJhF l’ha presa 20 giorni fa. Aperta
Tencent/libpag#3789 · 2 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno